<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="../favicon.ico">
    <meta name="viewport" content="width=device-width">
    <title>ECMAScript Next compatibility table</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,600">
    <link rel="stylesheet" href="../master.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="../master.js"></script>
    <script>
      (function() {
        var s = document.createElement('script'),
            t = document.getElementsByTagName('script')[0];
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto&uid=kangax';
        t.parentNode.insertBefore(s, t);
      })();
      if (typeof global === 'undefined') {
        this.lacksGlobal = true;
        var global = this;
      }
    </script>
</head>
<body class="es2016plus">
  <div id="header">
    <a href="../" id="logo"><img src="../logo.png" alt="JS compat"></a>
    <div id="nav">
      <span class="hidden-mobile">ECMAScript</span>
      <span class="versions">
        <a href="../es5">5</a><!--
        --><a href="../es6">6</a><!--
        --><a href="../es2016plus" class="current">2016+</a><!--
        --><a href="../esnext">next</a><!--
        --><a href="../esintl">intl</a><!--
        --><a href="../non-standard">non-standard</a>
      </span>
      <span class="hidden-mobile">compatibility table</span>
    </div>

    <div class="social">

      <span class="hidden-tablet">
        <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="https://kangax.github.io/compat-table/es5/"></a>
      </span>

      <script async src="https://www.google-analytics.com/ga.js"></script>
      <span class="by">
        by
        <a href="https://twitter.com/kangax" style="color:#eee">kangax</a>
        <script data-gratipay-username="kangax" data-gratipay-widget="button" src="https://grtp.co/v1.js"></script>
        &amp;
        <a href="https://twitter.com/webbedspace" style="color:#eee">webbedspace</a>
        &amp;
        <a href="https://github.com/zloirock" style="color:#eee">zloirock</a>
      </span>

      <iframe class="hidden-tablet" src="https://ghbtns.com/github-btn.html?user=kangax&amp;repo=compat-table&amp;type=fork&amp;count=true" frameborder="0" scrolling="0" width="90px" height="20px" style="margin-left: 10px"></iframe>
    </div>
  </div>
  <div id="body">
    <div class="controls">
      <label for="sort">
        Sort by
        <select id="sort">
          <option value="engine-types">Engine types</option>
          <option value="features">Features</option>
          <option value="flagged-features">Flagged features</option>
        </select>
      </label>

      <label for="show-obsolete">
        Show obsolete platforms
        <input id="show-obsolete" type="checkbox">
      </label>

      <label for="show-unstable">
        Show unstable platforms
        <input id="show-unstable" type="checkbox" checked>
      </label>
    </div><!--

    --><div class="legend">
      <span><span class="swatch" style="background-color:hsla(79, 100%, 37%, .8)"></span>V8</span>
      <span><span class="swatch" style="background-color:hsla(35, 100%, 50%, .8)"></span>SpiderMonkey</span>
      <span><span class="swatch" style="background-color:hsla(220, 25%, 70%, .8)"></span>JavaScriptCore</span>
      <span><span class="swatch" style="background-color:hsla(217, 85%, 54%, .8)"></span>Chakra</span>
      <span><span class="swatch" style="background-color:hsla(52, 85%, 63%, .8)"></span>Other</span>
      <br>
      <span><span style="opacity:0.2;font-size:3px;">&#x2B24;</span> Minor difference (1 point)</span>
      <span><span style="opacity:0.2;font-size:6px;">&#x2B24;</span> Small feature (2 points)</span>
      <span><span style="opacity:0.2;font-size:9px;">&#x2B24;</span> Medium feature (4 points)</span>
      <span><span style="opacity:0.2;font-size:14px;">&#x2B24;</span> Large feature (8 points)</span>
    </div>

    <table id="table-wrapper">
      <thead>
        <tr>
          <th class="test-name">Feature name</th>

          <th class="current">Current browser</th>

          <th></th>

          <!-- TABLE HEADERS -->
        <th class="platform tr compiler" data-browser="tr"><a href="#tr" class="browser-name"><abbr title="Traceur">Traceur</abbr></a></th>
<th class="platform babel compiler" data-browser="babel"><a href="#babel" class="browser-name"><abbr title="Babel 6.5 + core-js 2.4">Babel +<br><nobr>core-js</nobr></abbr></a><a href="#babel-optional-note"><sup>[2]</sup></a></th>
<th class="platform closure compiler" data-browser="closure"><a href="#closure" class="browser-name"><abbr title="Closure Compiler v20161024">Closure</abbr></a></th>
<th class="platform typescript compiler" data-browser="typescript"><a href="#typescript" class="browser-name"><abbr title="TypeScript 1.8 + core-js 2.4">Type-<br>Script +<br><nobr>core-js</nobr></abbr></a></th>
<th class="platform es7shim compiler" data-browser="es7shim"><a href="#es7shim" class="browser-name"><abbr title="es7-shim">es7-shim</abbr></a></th>
<th class="platform ie9 desktop obsolete" data-browser="ie9"><a href="#ie9" class="browser-name"><abbr title="Internet Explorer 9">IE 9</abbr></a></th>
<th class="platform ie10 desktop obsolete" data-browser="ie10"><a href="#ie10" class="browser-name"><abbr title="Internet Explorer">IE 10</abbr></a></th>
<th class="platform ie11 desktop" data-browser="ie11"><a href="#ie11" class="browser-name"><abbr title="Internet Explorer">IE 11</abbr></a></th>
<th class="platform edge12 desktop obsolete" data-browser="edge12"><a href="#edge12" class="browser-name"><abbr title="Microsoft Edge">Edge 12</abbr></a><a href="#edge-experimental-flag-note"><sup>[3]</sup></a></th>
<th class="platform edge13 desktop obsolete" data-browser="edge13"><a href="#edge13" class="browser-name"><abbr title="Microsoft Edge">Edge 13</abbr></a><a href="#edge-experimental-flag-note"><sup>[3]</sup></a></th>
<th class="platform edge14 desktop" data-browser="edge14"><a href="#edge14" class="browser-name"><abbr title="Microsoft Edge">Edge 14</abbr></a><a href="#edge-experimental-flag-note"><sup>[3]</sup></a></th>
<th class="platform edge15 desktop" data-browser="edge15"><a href="#edge15" class="browser-name"><abbr title="Microsoft Edge">Edge 15</abbr></a><a href="#edge-experimental-flag-note"><sup>[3]</sup></a></th>
<th class="platform firefox38 desktop obsolete" data-browser="firefox38"><a href="#firefox38" class="browser-name"><abbr title="Firefox">FF 38<br> ESR</abbr></a></th>
<th class="platform firefox44 desktop obsolete" data-browser="firefox44"><a href="#firefox44" class="browser-name"><abbr title="Firefox">FF 44</abbr></a></th>
<th class="platform firefox45 desktop" data-browser="firefox45"><a href="#firefox45" class="browser-name"><abbr title="Firefox">FF 45 ESR</abbr></a></th>
<th class="platform firefox46 desktop obsolete" data-browser="firefox46"><a href="#firefox46" class="browser-name"><abbr title="Firefox">FF 46</abbr></a></th>
<th class="platform firefox47 desktop obsolete" data-browser="firefox47"><a href="#firefox47" class="browser-name"><abbr title="Firefox">FF 47</abbr></a></th>
<th class="platform firefox48 desktop obsolete" data-browser="firefox48"><a href="#firefox48" class="browser-name"><abbr title="Firefox">FF 48</abbr></a></th>
<th class="platform firefox49 desktop obsolete" data-browser="firefox49"><a href="#firefox49" class="browser-name"><abbr title="Firefox">FF 49</abbr></a></th>
<th class="platform firefox50 desktop obsolete" data-browser="firefox50"><a href="#firefox50" class="browser-name"><abbr title="Firefox">FF 50</abbr></a></th>
<th class="platform firefox51 desktop obsolete" data-browser="firefox51"><a href="#firefox51" class="browser-name"><abbr title="Firefox">FF 51</abbr></a></th>
<th class="platform firefox52 desktop" data-browser="firefox52"><a href="#firefox52" class="browser-name"><abbr title="Firefox">FF 52</abbr></a></th>
<th class="platform firefox53 desktop unstable" data-browser="firefox53"><a href="#firefox53" class="browser-name"><abbr title="Firefox">FF 53 Beta</abbr></a></th>
<th class="platform firefox54 desktop unstable" data-browser="firefox54"><a href="#firefox54" class="browser-name"><abbr title="Firefox">FF 54 Aurora</abbr></a></th>
<th class="platform firefox55 desktop unstable" data-browser="firefox55"><a href="#firefox55" class="browser-name"><abbr title="Firefox">FF 55 Nightly</abbr></a></th>
<th class="platform chrome47 desktop obsolete" data-browser="chrome47"><a href="#chrome47" class="browser-name"><abbr title="Chrome, Opera">CH 47,<br>OP&#xA0;34</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome48 desktop obsolete" data-browser="chrome48"><a href="#chrome48" class="browser-name"><abbr title="Chrome, Opera">CH 48,<br>OP&#xA0;35</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome49 desktop obsolete" data-browser="chrome49"><a href="#chrome49" class="browser-name"><abbr title="Chrome, Opera">CH 49,<br>OP&#xA0;36</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome50 desktop obsolete" data-browser="chrome50"><a href="#chrome50" class="browser-name"><abbr title="Chrome, Opera">CH 50,<br>OP&#xA0;37</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome51 desktop obsolete" data-browser="chrome51"><a href="#chrome51" class="browser-name"><abbr title="Chrome, Opera">CH 51,<br>OP&#xA0;38</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome52 desktop obsolete" data-browser="chrome52"><a href="#chrome52" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;52,<br>OP&#xA0;39</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome53 desktop obsolete" data-browser="chrome53"><a href="#chrome53" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;53,<br>OP&#xA0;40</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome54 desktop obsolete" data-browser="chrome54"><a href="#chrome54" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;54,<br>OP&#xA0;41</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome55 desktop obsolete" data-browser="chrome55"><a href="#chrome55" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;55,<br>OP&#xA0;42</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome56 desktop obsolete" data-browser="chrome56"><a href="#chrome56" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;56,<br>OP&#xA0;43</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome57 desktop obsolete" data-browser="chrome57"><a href="#chrome57" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;57,<br>OP&#xA0;44</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome58 desktop" data-browser="chrome58"><a href="#chrome58" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;58,<br>OP&#xA0;45</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform chrome59 desktop unstable" data-browser="chrome59"><a href="#chrome59" class="browser-name"><abbr title="Chrome, Opera">CH&#xA0;59,<br>OP&#xA0;46</abbr></a><a href="#experimental-flag-note"><sup>[1]</sup></a></th>
<th class="platform safari51 desktop obsolete" data-browser="safari51"><a href="#safari51" class="browser-name"><abbr title="Safari">SF<br>5.1</abbr></a></th>
<th class="platform safari6 desktop obsolete" data-browser="safari6"><a href="#safari6" class="browser-name"><abbr title="Safari">SF 6</abbr></a></th>
<th class="platform safari7 desktop obsolete" data-browser="safari7"><a href="#safari7" class="browser-name"><abbr title="Safari">SF 6.1,<br>SF 7</abbr></a></th>
<th class="platform safari71_8 desktop obsolete" data-browser="safari71_8"><a href="#safari71_8" class="browser-name"><abbr title="Safari">SF 7.1,<br>SF 8</abbr></a></th>
<th class="platform safari9 desktop obsolete" data-browser="safari9"><a href="#safari9" class="browser-name"><abbr title="Safari">SF 9</abbr></a></th>
<th class="platform safari10 desktop" data-browser="safari10"><a href="#safari10" class="browser-name"><abbr title="Safari">SF 10</abbr></a></th>
<th class="platform safari10_1 desktop" data-browser="safari10_1"><a href="#safari10_1" class="browser-name"><abbr title="Safari">SF 10.1</abbr></a></th>
<th class="platform safaritp desktop unstable" data-browser="safaritp"><a href="#safaritp" class="browser-name"><abbr title="Safari Technology Preview Release 27">SF TP</abbr></a></th>
<th class="platform webkit desktop unstable" data-browser="webkit"><a href="#webkit" class="browser-name"><abbr title="Webkit r214532 (March 29, 2017)">WK</abbr></a></th>
<th class="platform phantom engine" data-browser="phantom"><a href="#phantom" class="browser-name"><abbr title="PhantomJS 2.0">PJS</abbr></a></th>
<th class="platform node010 engine obsolete" data-browser="node010"><a href="#node010" class="browser-name"><abbr title="Node.js">Node 0.10</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node012 engine obsolete" data-browser="node012"><a href="#node012" class="browser-name"><abbr title="Node.js">Node 0.12</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform iojs engine obsolete" data-browser="iojs"><a href="#iojs" class="browser-name"><abbr title="io.js">io.js</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node4 engine" data-browser="node4"><a href="#node4" class="browser-name"><abbr title="Node.js">Node 4</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node5 engine obsolete" data-browser="node5"><a href="#node5" class="browser-name"><abbr title="Node.js">Node 5</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node6 engine obsolete" data-browser="node6"><a href="#node6" class="browser-name"><abbr title="Node.js">Node 6.0-6.4</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node65 engine" data-browser="node65"><a href="#node65" class="browser-name"><abbr title="Node.js">Node &gt;=6.5 &lt;7</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node7 engine obsolete" data-browser="node7"><a href="#node7" class="browser-name"><abbr title="Node.js">Node 7.0-7.5</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform node76 engine" data-browser="node76"><a href="#node76" class="browser-name"><abbr title="Node.js">Node &gt;=7.6 &lt;8</abbr></a><a href="#harmony-flag-note"><sup>[4]</sup></a></th>
<th class="platform duktape20 engine" data-browser="duktape20"><a href="#duktape20" class="browser-name"><abbr title="Duktape 2.0">DUK 20</abbr></a></th>
<th class="platform duktape21 engine" data-browser="duktape21"><a href="#duktape21" class="browser-name"><abbr title="Duktape 2.1">DUK 21</abbr></a></th>
<th class="platform android40 mobile obsolete" data-browser="android40"><a href="#android40" class="browser-name"><abbr title="Android Browser">AN 4.0</abbr></a></th>
<th class="platform android41 mobile obsolete" data-browser="android41"><a href="#android41" class="browser-name"><abbr title="Android Browser">AN 4.1</abbr></a></th>
<th class="platform android42 mobile obsolete" data-browser="android42"><a href="#android42" class="browser-name"><abbr title="Android Browser">AN 4.2</abbr></a></th>
<th class="platform android43 mobile obsolete" data-browser="android43"><a href="#android43" class="browser-name"><abbr title="Android Browser">AN 4.3</abbr></a></th>
<th class="platform android44 mobile" data-browser="android44"><a href="#android44" class="browser-name"><abbr title="Android Browser">AN 4.4</abbr></a></th>
<th class="platform android50 mobile" data-browser="android50"><a href="#android50" class="browser-name"><abbr title="Android Browser">AN 5.0</abbr></a></th>
<th class="platform android51 mobile" data-browser="android51"><a href="#android51" class="browser-name"><abbr title="Android Browser">AN 5.1</abbr></a></th>
<th class="platform ios51 mobile obsolete" data-browser="ios51"><a href="#ios51" class="browser-name"><abbr title="iOS Safari">iOS 5.1</abbr></a></th>
<th class="platform ios6 mobile obsolete" data-browser="ios6"><a href="#ios6" class="browser-name"><abbr title="iOS Safari">iOS 6</abbr></a></th>
<th class="platform ios7 mobile obsolete" data-browser="ios7"><a href="#ios7" class="browser-name"><abbr title="iOS Safari">iOS 7</abbr></a></th>
<th class="platform ios8 mobile obsolete" data-browser="ios8"><a href="#ios8" class="browser-name"><abbr title="iOS Safari">iOS 8</abbr></a></th>
<th class="platform ios9 mobile" data-browser="ios9"><a href="#ios9" class="browser-name"><abbr title="iOS Safari">iOS 9</abbr></a></th>
<th class="platform ios10 mobile" data-browser="ios10"><a href="#ios10" class="browser-name"><abbr title="iOS Safari">iOS 10.0-10.3</abbr></a></th>
<th class="platform ios10_3 mobile" data-browser="ios10_3"><a href="#ios10_3" class="browser-name"><abbr title="iOS Safari">iOS &gt;=10.3 &lt;11</abbr></a></th>
</tr>

      </thead>
      <tbody>
        <!-- TABLE BODY -->
      <tr class="category"><td colspan="75">2016 features</td>
</tr>
<tr class="supertest" significance="0.25"><td id="test-exponentiation_(**)_operator"><span><a class="anchor" href="#test-exponentiation_(**)_operator">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-exp-operator">exponentiation (**) operator</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation_(**)" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span></td>
<td class="tally" data-browser="tr" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally" data-browser="babel" data-tally="1">3/3</td>
<td class="tally" data-browser="closure" data-tally="1">3/3</td>
<td class="tally" data-browser="typescript" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally" data-browser="es7shim" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/3</td>
<td class="tally" data-browser="ie11" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0" data-flagged-tally="0.6666666666666666">0/3</td>
<td class="tally" data-browser="edge14" data-tally="1">3/3</td>
<td class="tally" data-browser="edge15" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/3</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="0">0/3</td>
<td class="tally" data-browser="firefox52" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0" data-flagged-tally="1">0/3</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">3/3</td>
<td class="tally" data-browser="chrome58" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/3</td>
<td class="tally" data-browser="safari10" data-tally="0">0/3</td>
<td class="tally" data-browser="safari10_1" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">3/3</td>
<td class="tally" data-browser="phantom" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/3</td>
<td class="tally" data-browser="node4" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node6" data-tally="0">0/3</td>
<td class="tally" data-browser="node65" data-tally="0" data-flagged-tally="1">0/3</td>
<td class="tally obsolete" data-browser="node7" data-tally="1">3/3</td>
<td class="tally" data-browser="node76" data-tally="1">3/3</td>
<td class="tally" data-browser="duktape20" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally" data-browser="duktape21" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/3</td>
<td class="tally" data-browser="android44" data-tally="0">0/3</td>
<td class="tally" data-browser="android50" data-tally="0">0/3</td>
<td class="tally" data-browser="android51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/3</td>
<td class="tally" data-browser="ios9" data-tally="0">0/3</td>
<td class="tally" data-browser="ios10" data-tally="0">0/3</td>
<td class="tally" data-browser="ios10_3" data-tally="1">3/3</td>
</tr>
<tr class="subtest" data-parent="exponentiation_(**)_operator" id="test-exponentiation_(**)_operator_basic_support"><td><span><a class="anchor" href="#test-exponentiation_(**)_operator_basic_support">&#xA7;</a>basic support</span><script data-source="
return 2 ** 3 === 8 &amp;&amp; -(5 ** 2) === -25 &amp;&amp; (-5) ** 2 === 25;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("1");try{return Function("asyncTestPassed","\nreturn 2 ** 3 === 8 && -(5 ** 2) === -25 && (-5) ** 2 === 25;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("1");return Function("asyncTestPassed","'use strict';"+"\nreturn 2 ** 3 === 8 && -(5 ** 2) === -25 && (-5) ** 2 === 25;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes" data-browser="tr">Yes</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no" data-browser="firefox45">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="exponentiation_(**)_operator" id="test-exponentiation_(**)_operator_assignment"><td><span><a class="anchor" href="#test-exponentiation_(**)_operator_assignment">&#xA7;</a>assignment</span><script data-source="
var a = 2; a **= 3; return a === 8;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("2");try{return Function("asyncTestPassed","\nvar a = 2; a **= 3; return a === 8;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("2");return Function("asyncTestPassed","'use strict';"+"\nvar a = 2; a **= 3; return a === 8;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes" data-browser="tr">Yes</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="exponentiation_(**)_operator" id="test-exponentiation_(**)_operator_early_syntax_error_for_unary_negation_without_parens"><td><span><a class="anchor" href="#test-exponentiation_(**)_operator_early_syntax_error_for_unary_negation_without_parens">&#xA7;</a>early syntax error for unary negation without parens</span><script data-source="
if (2 ** 3 !== 8) { return false; }
try {
Function(&quot;-5 ** 2&quot;)();
} catch(e) {
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("3");try{return Function("asyncTestPassed","\nif (2 ** 3 !== 8) { return false; }\ntry {\nFunction(\"-5 ** 2\")();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("3");return Function("asyncTestPassed","'use strict';"+"\nif (2 ** 3 !== 8) { return false; }\ntry {\nFunction(\"-5 ** 2\")();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest" significance="0.25"><td id="test-Array.prototype.includes"><span><a class="anchor" href="#test-Array.prototype.includes">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-array.prototype.includes">Array.prototype.includes</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span></td>
<td class="tally" data-browser="tr" data-tally="0">0/3</td>
<td class="tally" data-browser="babel" data-tally="1">3/3</td>
<td class="tally" data-browser="closure" data-tally="0">0/3</td>
<td class="tally" data-browser="typescript" data-tally="1">3/3</td>
<td class="tally" data-browser="es7shim" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/3</td>
<td class="tally" data-browser="ie11" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/3</td>
<td class="tally" data-browser="edge14" data-tally="1">3/3</td>
<td class="tally" data-browser="edge15" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="1">3/3</td>
<td class="tally" data-browser="firefox45" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">3/3</td>
<td class="tally" data-browser="firefox52" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">3/3</td>
<td class="tally" data-browser="chrome58" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally" data-browser="safari10" data-tally="1">3/3</td>
<td class="tally" data-browser="safari10_1" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">3/3</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">3/3</td>
<td class="tally" data-browser="phantom" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/3</td>
<td class="tally" data-browser="node4" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="node6" data-tally="1">3/3</td>
<td class="tally" data-browser="node65" data-tally="1">3/3</td>
<td class="tally obsolete" data-browser="node7" data-tally="1">3/3</td>
<td class="tally" data-browser="node76" data-tally="1">3/3</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/3</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/3</td>
<td class="tally" data-browser="android44" data-tally="0">0/3</td>
<td class="tally" data-browser="android50" data-tally="0">0/3</td>
<td class="tally" data-browser="android51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/3</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/3</td>
<td class="tally" data-browser="ios9" data-tally="0.6666666666666666" style="background-color:hsl(80,56%,50%)">2/3</td>
<td class="tally" data-browser="ios10" data-tally="1">3/3</td>
<td class="tally" data-browser="ios10_3" data-tally="1">3/3</td>
</tr>
<tr class="subtest" data-parent="Array.prototype.includes" id="test-Array.prototype.includes_Array.prototype.includes_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Array.prototype.includes_Array.prototype.includes_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Array.prototype.includes <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return [1, 2, 3].includes(1)
&amp;&amp; ![1, 2, 3].includes(4)
&amp;&amp; ![1, 2, 3].includes(1, 1)
&amp;&amp; [NaN].includes(NaN)
&amp;&amp; Array(1).includes();
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("5");try{return Function("asyncTestPassed","\nreturn [1, 2, 3].includes(1)\n&& ![1, 2, 3].includes(4)\n&& ![1, 2, 3].includes(1, 1)\n&& [NaN].includes(NaN)\n&& Array(1).includes();\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("5");return Function("asyncTestPassed","'use strict';"+"\nreturn [1, 2, 3].includes(1)\n&& ![1, 2, 3].includes(4)\n&& ![1, 2, 3].includes(1, 1)\n&& [NaN].includes(NaN)\n&& Array(1).includes();\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Array.prototype.includes" id="test-Array.prototype.includes_Array.prototype.includes_is_generic"><td><span><a class="anchor" href="#test-Array.prototype.includes_Array.prototype.includes_is_generic">&#xA7;</a>Array.prototype.includes is generic</span><script data-source="
var passed = 0;
return [].includes.call({
get &quot;0&quot;() {
passed = NaN;
return &apos;foo&apos;;
},
get &quot;11&quot;() {
passed += 1;
return 0;
},
get &quot;19&quot;() {
passed += 1;
return &apos;foo&apos;;
},
get &quot;21&quot;() {
passed = NaN;
return &apos;foo&apos;;
},
get length() {
passed += 1;
return 24;
}
}, &apos;foo&apos;, 6) === true &amp;&amp; passed === 3;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("6");try{return Function("asyncTestPassed","\nvar passed = 0;\nreturn [].includes.call({\nget \"0\"() {\npassed = NaN;\nreturn 'foo';\n},\nget \"11\"() {\npassed += 1;\nreturn 0;\n},\nget \"19\"() {\npassed += 1;\nreturn 'foo';\n},\nget \"21\"() {\npassed = NaN;\nreturn 'foo';\n},\nget length() {\npassed += 1;\nreturn 24;\n}\n}, 'foo', 6) === true && passed === 3;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("6");return Function("asyncTestPassed","'use strict';"+"\nvar passed = 0;\nreturn [].includes.call({\nget \"0\"() {\npassed = NaN;\nreturn 'foo';\n},\nget \"11\"() {\npassed += 1;\nreturn 0;\n},\nget \"19\"() {\npassed += 1;\nreturn 'foo';\n},\nget \"21\"() {\npassed = NaN;\nreturn 'foo';\n},\nget length() {\npassed += 1;\nreturn 24;\n}\n}, 'foo', 6) === true && passed === 3;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Array.prototype.includes" id="test-Array.prototype.includes_%TypedArray%.prototype.includes_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Array.prototype.includes_%TypedArray%.prototype.includes_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>%TypedArray%.prototype.includes <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array,
Int32Array, Uint32Array, Float32Array, Float64Array].every(function(TypedArray){
return new TypedArray([1, 2, 3]).includes(1)
&amp;&amp; !new TypedArray([1, 2, 3]).includes(4)
&amp;&amp; !new TypedArray([1, 2, 3]).includes(1, 1);
});
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("7");try{return Function("asyncTestPassed","\nreturn [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array,\nInt32Array, Uint32Array, Float32Array, Float64Array].every(function(TypedArray){\nreturn new TypedArray([1, 2, 3]).includes(1)\n&& !new TypedArray([1, 2, 3]).includes(4)\n&& !new TypedArray([1, 2, 3]).includes(1, 1);\n});\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("7");return Function("asyncTestPassed","'use strict';"+"\nreturn [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array,\nInt32Array, Uint32Array, Float32Array, Float64Array].every(function(TypedArray){\nreturn new TypedArray([1, 2, 3]).includes(1)\n&& !new TypedArray([1, 2, 3]).includes(4)\n&& !new TypedArray([1, 2, 3]).includes(1, 1);\n});\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="category"><td colspan="75">2016 misc</td>
</tr>
<tr significance="0.125"><td id="test-generator_functions_can&apos;t_be_used_with_new"><span><a class="anchor" href="#test-generator_functions_can&apos;t_be_used_with_new">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-createdynamicfunction">generator functions can&apos;t be used with &quot;new&quot;</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*#Generators_are_not_constructable" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;<a href="#new-gen-fn-note"><sup>[7]</sup></a></span><script data-source="
function * generator() {
yield 3;
}
try {
new generator();
} catch(e) {
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("8");try{return Function("asyncTestPassed","\nfunction * generator() {\nyield 3;\n}\ntry {\nnew generator();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("8");return Function("asyncTestPassed","'use strict';"+"\nfunction * generator() {\nyield 3;\n}\ntry {\nnew generator();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-generator_throw()_caught_by_inner_generator"><span><a class="anchor" href="#test-generator_throw()_caught_by_inner_generator">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-generatorfunction-objects">generator throw() caught by inner generator</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*#IteratorResult_object_returned_instead_of_throwing" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;<a href="#gen-throw-note"><sup>[8]</sup></a></span><script data-source="
function * generator() {
yield * (function * () {
try {
yield &apos;foo&apos;;
}
catch(e) {
return;
}
}());
yield &apos;bar&apos;;
}
var iter = generator();
iter.next();
return iter[&apos;throw&apos;]().value === &apos;bar&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("9");try{return Function("asyncTestPassed","\nfunction * generator() {\nyield * (function * () {\ntry {\nyield 'foo';\n}\ncatch(e) {\nreturn;\n}\n}());\nyield 'bar';\n}\nvar iter = generator();\niter.next();\nreturn iter['throw']().value === 'bar';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("9");return Function("asyncTestPassed","'use strict';"+"\nfunction * generator() {\nyield * (function * () {\ntry {\nyield 'foo';\n}\ncatch(e) {\nreturn;\n}\n}());\nyield 'bar';\n}\nvar iter = generator();\niter.next();\nreturn iter['throw']().value === 'bar';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no flagged obsolete" data-browser="node012">Flag</td>
<td class="no flagged obsolete" data-browser="iojs">Flag</td>
<td class="yes" data-browser="node4">Yes</td>
<td class="yes obsolete" data-browser="node5">Yes</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-strict_fn_w/_non-strict_non-simple_params_is_error"><span><a class="anchor" href="#test-strict_fn_w/_non-strict_non-simple_params_is_error">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-functiondeclarationinstantiation">strict fn w/ non-strict non-simple params is error</a><a href="#strict-fn-non-strict-params-note"><sup>[9]</sup></a></span><script data-source="
function foo(...a){}
try {
Function(&quot;function bar(...a){&apos;use strict&apos;;}&quot;)();
} catch(e) {
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("10");try{return Function("asyncTestPassed","\nfunction foo(...a){}\ntry {\nFunction(\"function bar(...a){'use strict';}\")();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("10");return Function("asyncTestPassed","'use strict';"+"\nfunction foo(...a){}\ntry {\nFunction(\"function bar(...a){'use strict';}\")();\n} catch(e) {\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-nested_rest_destructuring,_declarations"><span><a class="anchor" href="#test-nested_rest_destructuring,_declarations">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-destructuring-assignment">nested rest destructuring, declarations</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Nested_object_and_array_destructuring" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;<a href="#nested-rest-destruct-decl-note"><sup>[10]</sup></a></span><script data-source="
var [x, ...[y, ...z]] = [1,2,3,4];
return x === 1 &amp;&amp; y === 2 &amp;&amp; z + &apos;&apos; === &apos;3,4&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("11");try{return Function("asyncTestPassed","\nvar [x, ...[y, ...z]] = [1,2,3,4];\nreturn x === 1 && y === 2 && z + '' === '3,4';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("11");return Function("asyncTestPassed","'use strict';"+"\nvar [x, ...[y, ...z]] = [1,2,3,4];\nreturn x === 1 && y === 2 && z + '' === '3,4';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-nested_rest_destructuring,_parameters"><span><a class="anchor" href="#test-nested_rest_destructuring,_parameters">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-destructuring-assignment">nested rest destructuring, parameters</a><a href="#nested-rest-destruct-params-note"><sup>[11]</sup></a></span><script data-source="
return function([x, ...[y, ...z]]) {
return x === 1 &amp;&amp; y === 2 &amp;&amp; z + &apos;&apos; === &apos;3,4&apos;;
}([1,2,3,4]);
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("12");try{return Function("asyncTestPassed","\nreturn function([x, ...[y, ...z]]) {\nreturn x === 1 && y === 2 && z + '' === '3,4';\n}([1,2,3,4]);\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("12");return Function("asyncTestPassed","'use strict';"+"\nreturn function([x, ...[y, ...z]]) {\nreturn x === 1 && y === 2 && z + '' === '3,4';\n}([1,2,3,4]);\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-Proxy,_enumerate_handler_removed"><span><a class="anchor" href="#test-Proxy,_enumerate_handler_removed">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-proxy-objects">Proxy, &quot;enumerate&quot; handler removed</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/enumerate" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;<a href="#proxy-enumerate-removed-note"><sup>[12]</sup></a></span><script data-source="
var passed = true;
var proxy = new Proxy({}, {
enumerate: function() {
passed = false;
}
});
for(var key in proxy); // Should not throw, nor execute the &apos;enumerate&apos; method.
return passed;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("13");try{return Function("asyncTestPassed","\nvar passed = true;\nvar proxy = new Proxy({}, {\nenumerate: function() {\npassed = false;\n}\n});\nfor(var key in proxy); // Should not throw, nor execute the 'enumerate' method.\nreturn passed;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("13");return Function("asyncTestPassed","'use strict';"+"\nvar passed = true;\nvar proxy = new Proxy({}, {\nenumerate: function() {\npassed = false;\n}\n});\nfor(var key in proxy); // Should not throw, nor execute the 'enumerate' method.\nreturn passed;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-Proxy_internal_calls,_Array.prototype.includes"><span><a class="anchor" href="#test-Proxy_internal_calls,_Array.prototype.includes">&#xA7;</a><a href="http://www.ecma-international.org/ecma-262/7.0/index.html#sec-array.prototype.includes">Proxy internal calls, Array.prototype.includes</a></span><script data-source="
// Array.prototype.includes -&gt; Get -&gt; [[Get]]
var get = [];
var p = new Proxy({length: 3, 0: &apos;&apos;, 1: &apos;&apos;, 2: &apos;&apos;, 3: &apos;&apos;}, { get: function(o, k) { get.push(k); return o[k]; }});
Array.prototype.includes.call(p, {});
if (get + &apos;&apos; !== &quot;length,0,1,2&quot;) return;

get = [];
p = new Proxy({length: 4, 0: NaN, 1: &apos;&apos;, 2: NaN, 3: &apos;&apos;}, { get: function(o, k) { get.push(k); return o[k]; }});
Array.prototype.includes.call(p, NaN, 1);
return (get + &apos;&apos; === &quot;length,1,2&quot;);
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("14");try{return Function("asyncTestPassed","\n// Array.prototype.includes -> Get -> [[Get]]\nvar get = [];\nvar p = new Proxy({length: 3, 0: '', 1: '', 2: '', 3: ''}, { get: function(o, k) { get.push(k); return o[k]; }});\nArray.prototype.includes.call(p, {});\nif (get + '' !== \"length,0,1,2\") return;\n\nget = [];\np = new Proxy({length: 4, 0: NaN, 1: '', 2: NaN, 3: ''}, { get: function(o, k) { get.push(k); return o[k]; }});\nArray.prototype.includes.call(p, NaN, 1);\nreturn (get + '' === \"length,1,2\");\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("14");return Function("asyncTestPassed","'use strict';"+"\n// Array.prototype.includes -> Get -> [[Get]]\nvar get = [];\nvar p = new Proxy({length: 3, 0: '', 1: '', 2: '', 3: ''}, { get: function(o, k) { get.push(k); return o[k]; }});\nArray.prototype.includes.call(p, {});\nif (get + '' !== \"length,0,1,2\") return;\n\nget = [];\np = new Proxy({length: 4, 0: NaN, 1: '', 2: NaN, 3: ''}, { get: function(o, k) { get.push(k); return o[k]; }});\nArray.prototype.includes.call(p, NaN, 1);\nreturn (get + '' === \"length,1,2\");\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="yes obsolete" data-browser="node6">Yes</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="category"><td colspan="75">2017 features</td>
</tr>
<tr class="supertest" significance="0.5"><td id="test-Object_static_methods"><span><a class="anchor" href="#test-Object_static_methods">&#xA7;</a><a href="https://tc39.github.io/ecma262/#sec-properties-of-the-object-constructor">Object static methods</a></span></td>
<td class="tally" data-browser="tr" data-tally="0">0/4</td>
<td class="tally" data-browser="babel" data-tally="0.75" style="background-color:hsl(90,53%,50%)">3/4</td>
<td class="tally" data-browser="closure" data-tally="0">0/4</td>
<td class="tally" data-browser="typescript" data-tally="0.75" style="background-color:hsl(90,53%,50%)">3/4</td>
<td class="tally" data-browser="es7shim" data-tally="0.75" style="background-color:hsl(90,53%,50%)">3/4</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/4</td>
<td class="tally" data-browser="ie11" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/4</td>
<td class="tally" data-browser="edge14" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally" data-browser="edge15" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/4</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">4/4</td>
<td class="tally" data-browser="firefox52" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0" data-flagged-tally="0.75">0/4</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0" data-flagged-tally="0.75">0/4</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0" data-flagged-tally="0.75">0/4</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">4/4</td>
<td class="tally" data-browser="chrome58" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/4</td>
<td class="tally" data-browser="safari10" data-tally="0.25" style="background-color:hsl(30,75%,50%)">1/4</td>
<td class="tally" data-browser="safari10_1" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">4/4</td>
<td class="tally" data-browser="phantom" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/4</td>
<td class="tally" data-browser="node4" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="node6" data-tally="0">0/4</td>
<td class="tally" data-browser="node65" data-tally="0" data-flagged-tally="0.75">0/4</td>
<td class="tally obsolete" data-browser="node7" data-tally="1">4/4</td>
<td class="tally" data-browser="node76" data-tally="1">4/4</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/4</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/4</td>
<td class="tally" data-browser="android44" data-tally="0">0/4</td>
<td class="tally" data-browser="android50" data-tally="0">0/4</td>
<td class="tally" data-browser="android51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/4</td>
<td class="tally" data-browser="ios9" data-tally="0">0/4</td>
<td class="tally" data-browser="ios10" data-tally="0.25" style="background-color:hsl(30,75%,50%)">1/4</td>
<td class="tally" data-browser="ios10_3" data-tally="1">4/4</td>
</tr>
<tr class="subtest" data-parent="Object_static_methods" id="test-Object_static_methods_a_href=_https://tc39.github.io/ecma262/#sec-properties-of-the-object-constructor_Object.values_/a_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object_static_methods_a_href=_https://tc39.github.io/ecma262/#sec-properties-of-the-object-constructor_Object.values_/a_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a><a href="https://tc39.github.io/ecma262/#sec-properties-of-the-object-constructor">Object.values</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = Object.create({ a: &quot;qux&quot;, d: &quot;qux&quot; });
obj.a = &quot;foo&quot;; obj.b = &quot;bar&quot;; obj.c = &quot;baz&quot;;
var v = Object.values(obj);
return Array.isArray(v) &amp;&amp; String(v) === &quot;foo,bar,baz&quot;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("16");try{return Function("asyncTestPassed","\nvar obj = Object.create({ a: \"qux\", d: \"qux\" });\nobj.a = \"foo\"; obj.b = \"bar\"; obj.c = \"baz\";\nvar v = Object.values(obj);\nreturn Array.isArray(v) && String(v) === \"foo,bar,baz\";\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("16");return Function("asyncTestPassed","'use strict';"+"\nvar obj = Object.create({ a: \"qux\", d: \"qux\" });\nobj.a = \"foo\"; obj.b = \"bar\"; obj.c = \"baz\";\nvar v = Object.values(obj);\nreturn Array.isArray(v) && String(v) === \"foo,bar,baz\";\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object_static_methods" id="test-Object_static_methods_Object.entries_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object_static_methods_Object.entries_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Object.entries <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = Object.create({ a: &quot;qux&quot;, d: &quot;qux&quot; });
obj.a = &quot;foo&quot;; obj.b = &quot;bar&quot;; obj.c = &quot;baz&quot;;
var e = Object.entries(obj);
return Array.isArray(e)
&amp;&amp; e.length === 3
&amp;&amp; String(e[0]) === &quot;a,foo&quot;
&amp;&amp; String(e[1]) === &quot;b,bar&quot;
&amp;&amp; String(e[2]) === &quot;c,baz&quot;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("17");try{return Function("asyncTestPassed","\nvar obj = Object.create({ a: \"qux\", d: \"qux\" });\nobj.a = \"foo\"; obj.b = \"bar\"; obj.c = \"baz\";\nvar e = Object.entries(obj);\nreturn Array.isArray(e)\n&& e.length === 3\n&& String(e[0]) === \"a,foo\"\n&& String(e[1]) === \"b,bar\"\n&& String(e[2]) === \"c,baz\";\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("17");return Function("asyncTestPassed","'use strict';"+"\nvar obj = Object.create({ a: \"qux\", d: \"qux\" });\nobj.a = \"foo\"; obj.b = \"bar\"; obj.c = \"baz\";\nvar e = Object.entries(obj);\nreturn Array.isArray(e)\n&& e.length === 3\n&& String(e[0]) === \"a,foo\"\n&& String(e[1]) === \"b,bar\"\n&& String(e[2]) === \"c,baz\";\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object_static_methods" id="test-Object_static_methods_Object.getOwnPropertyDescriptors_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object_static_methods_Object.getOwnPropertyDescriptors_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Object.getOwnPropertyDescriptors <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var object = {a: 1};
var B = typeof Symbol === &apos;function&apos; ? Symbol(&apos;b&apos;) : &apos;b&apos;;
object[B] = 2;
var O = Object.defineProperty(object, &apos;c&apos;, {value: 3});
var D = Object.getOwnPropertyDescriptors(O);

return D.a.value === 1 &amp;&amp; D.a.enumerable === true &amp;&amp; D.a.configurable === true &amp;&amp; D.a.writable === true
&amp;&amp; D[B].value === 2 &amp;&amp; D[B].enumerable === true &amp;&amp; D[B].configurable === true &amp;&amp; D[B].writable === true
&amp;&amp; D.c.value === 3 &amp;&amp; D.c.enumerable === false &amp;&amp; D.c.configurable === false &amp;&amp; D.c.writable === false;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("18");try{return Function("asyncTestPassed","\nvar object = {a: 1};\nvar B = typeof Symbol === 'function' ? Symbol('b') : 'b';\nobject[B] = 2;\nvar O = Object.defineProperty(object, 'c', {value: 3});\nvar D = Object.getOwnPropertyDescriptors(O);\n\nreturn D.a.value === 1 && D.a.enumerable === true && D.a.configurable === true && D.a.writable === true\n&& D[B].value === 2 && D[B].enumerable === true && D[B].configurable === true && D[B].writable === true\n&& D.c.value === 3 && D.c.enumerable === false && D.c.configurable === false && D.c.writable === false;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("18");return Function("asyncTestPassed","'use strict';"+"\nvar object = {a: 1};\nvar B = typeof Symbol === 'function' ? Symbol('b') : 'b';\nobject[B] = 2;\nvar O = Object.defineProperty(object, 'c', {value: 3});\nvar D = Object.getOwnPropertyDescriptors(O);\n\nreturn D.a.value === 1 && D.a.enumerable === true && D.a.configurable === true && D.a.writable === true\n&& D[B].value === 2 && D[B].enumerable === true && D[B].configurable === true && D[B].writable === true\n&& D.c.value === 3 && D.c.enumerable === false && D.c.configurable === false && D.c.writable === false;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no flagged obsolete" data-browser="chrome51">Flag</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no flagged" data-browser="node65">Flag</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object_static_methods" id="test-Object_static_methods_Object.getOwnPropertyDescriptors_doesn&apos;t_provide_undefined_descriptors"><td><span><a class="anchor" href="#test-Object_static_methods_Object.getOwnPropertyDescriptors_doesn&apos;t_provide_undefined_descriptors">&#xA7;</a>Object.getOwnPropertyDescriptors doesn&apos;t provide undefined descriptors</span><script data-source="
var P = new Proxy({a:1}, {
  getOwnPropertyDescriptor: function(t, k) {}
});
return !Object.getOwnPropertyDescriptors(P).hasOwnProperty(&apos;a&apos;);
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("19");try{return Function("asyncTestPassed","\nvar P = new Proxy({a:1}, {\n  getOwnPropertyDescriptor: function(t, k) {}\n});\nreturn !Object.getOwnPropertyDescriptors(P).hasOwnProperty('a');\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("19");return Function("asyncTestPassed","'use strict';"+"\nvar P = new Proxy({a:1}, {\n  getOwnPropertyDescriptor: function(t, k) {}\n});\nreturn !Object.getOwnPropertyDescriptors(P).hasOwnProperty('a');\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest" significance="0.25"><td id="test-String_padding"><span><a class="anchor" href="#test-String_padding">&#xA7;</a><a href="https://github.com/tc39/proposal-string-pad-start-end">String padding</a></span></td>
<td class="tally" data-browser="tr" data-tally="0">0/2</td>
<td class="tally" data-browser="babel" data-tally="1">2/2</td>
<td class="tally" data-browser="closure" data-tally="0">0/2</td>
<td class="tally" data-browser="typescript" data-tally="1">2/2</td>
<td class="tally" data-browser="es7shim" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/2</td>
<td class="tally" data-browser="ie11" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/2</td>
<td class="tally" data-browser="edge14" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally" data-browser="edge15" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/2</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">2/2</td>
<td class="tally" data-browser="firefox52" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">2/2</td>
<td class="tally" data-browser="chrome58" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/2</td>
<td class="tally" data-browser="safari10" data-tally="1">2/2</td>
<td class="tally" data-browser="safari10_1" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">2/2</td>
<td class="tally" data-browser="phantom" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/2</td>
<td class="tally" data-browser="node4" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node6" data-tally="0">0/2</td>
<td class="tally" data-browser="node65" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node7" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally" data-browser="node76" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/2</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/2</td>
<td class="tally" data-browser="android44" data-tally="0">0/2</td>
<td class="tally" data-browser="android50" data-tally="0">0/2</td>
<td class="tally" data-browser="android51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/2</td>
<td class="tally" data-browser="ios9" data-tally="0">0/2</td>
<td class="tally" data-browser="ios10" data-tally="1">2/2</td>
<td class="tally" data-browser="ios10_3" data-tally="1">2/2</td>
</tr>
<tr class="subtest" data-parent="String_padding" id="test-String_padding_String.prototype.padStart_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-String_padding_String.prototype.padStart_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>String.prototype.padStart <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return &apos;hello&apos;.padStart(10) === &apos;     hello&apos;
&amp;&amp; &apos;hello&apos;.padStart(10, &apos;1234&apos;) === &apos;12341hello&apos;
&amp;&amp; &apos;hello&apos;.padStart() === &apos;hello&apos;
&amp;&amp; &apos;hello&apos;.padStart(6, &apos;123&apos;) === &apos;1hello&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("21");try{return Function("asyncTestPassed","\nreturn 'hello'.padStart(10) === '     hello'\n&& 'hello'.padStart(10, '1234') === '12341hello'\n&& 'hello'.padStart() === 'hello'\n&& 'hello'.padStart(6, '123') === '1hello';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("21");return Function("asyncTestPassed","'use strict';"+"\nreturn 'hello'.padStart(10) === '     hello'\n&& 'hello'.padStart(10, '1234') === '12341hello'\n&& 'hello'.padStart() === 'hello'\n&& 'hello'.padStart(6, '123') === '1hello';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="no flagged obsolete" data-browser="chrome54">Flag</td>
<td class="no flagged obsolete" data-browser="chrome55">Flag</td>
<td class="no flagged obsolete" data-browser="chrome56">Flag</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no flagged obsolete" data-browser="node7">Flag</td>
<td class="no flagged" data-browser="node76">Flag</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="String_padding" id="test-String_padding_String.prototype.padEnd_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-String_padding_String.prototype.padEnd_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>String.prototype.padEnd <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return &apos;hello&apos;.padEnd(10) === &apos;hello     &apos;
&amp;&amp; &apos;hello&apos;.padEnd(10, &apos;1234&apos;) === &apos;hello12341&apos;
&amp;&amp; &apos;hello&apos;.padEnd() === &apos;hello&apos;
&amp;&amp; &apos;hello&apos;.padEnd(6, &apos;123&apos;) === &apos;hello1&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("22");try{return Function("asyncTestPassed","\nreturn 'hello'.padEnd(10) === 'hello     '\n&& 'hello'.padEnd(10, '1234') === 'hello12341'\n&& 'hello'.padEnd() === 'hello'\n&& 'hello'.padEnd(6, '123') === 'hello1';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("22");return Function("asyncTestPassed","'use strict';"+"\nreturn 'hello'.padEnd(10) === 'hello     '\n&& 'hello'.padEnd(10, '1234') === 'hello12341'\n&& 'hello'.padEnd() === 'hello'\n&& 'hello'.padEnd(6, '123') === 'hello1';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="yes" data-browser="es7shim">Yes</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="no flagged obsolete" data-browser="chrome54">Flag</td>
<td class="no flagged obsolete" data-browser="chrome55">Flag</td>
<td class="no flagged obsolete" data-browser="chrome56">Flag</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no flagged obsolete" data-browser="node7">Flag</td>
<td class="no flagged" data-browser="node76">Flag</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest" significance="0.25"><td id="test-trailing_commas_in_function_syntax"><span><a class="anchor" href="#test-trailing_commas_in_function_syntax">&#xA7;</a><a href="https://github.com/tc39/proposal-trailing-function-commas">trailing commas in function syntax</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span></td>
<td class="tally" data-browser="tr" data-tally="0">0/2</td>
<td class="tally" data-browser="babel" data-tally="1">2/2</td>
<td class="tally" data-browser="closure" data-tally="0">0/2</td>
<td class="tally" data-browser="typescript" data-tally="1">2/2</td>
<td class="tally" data-browser="es7shim" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/2</td>
<td class="tally" data-browser="ie11" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/2</td>
<td class="tally" data-browser="edge14" data-tally="1">2/2</td>
<td class="tally" data-browser="edge15" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/2</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="0">0/2</td>
<td class="tally" data-browser="firefox52" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="0" data-flagged-tally="1">0/2</td>
<td class="tally" data-browser="chrome58" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">2/2</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/2</td>
<td class="tally" data-browser="safari10" data-tally="1">2/2</td>
<td class="tally" data-browser="safari10_1" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">2/2</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">2/2</td>
<td class="tally" data-browser="phantom" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/2</td>
<td class="tally" data-browser="node4" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node6" data-tally="0">0/2</td>
<td class="tally" data-browser="node65" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="node7" data-tally="0">0/2</td>
<td class="tally" data-browser="node76" data-tally="0">0/2</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/2</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/2</td>
<td class="tally" data-browser="android44" data-tally="0">0/2</td>
<td class="tally" data-browser="android50" data-tally="0">0/2</td>
<td class="tally" data-browser="android51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/2</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/2</td>
<td class="tally" data-browser="ios9" data-tally="0">0/2</td>
<td class="tally" data-browser="ios10" data-tally="1">2/2</td>
<td class="tally" data-browser="ios10_3" data-tally="1">2/2</td>
</tr>
<tr class="subtest" data-parent="trailing_commas_in_function_syntax" id="test-trailing_commas_in_function_syntax_in_parameter_lists_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Parameter_definitions_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-trailing_commas_in_function_syntax_in_parameter_lists_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Parameter_definitions_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>in parameter lists <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Parameter_definitions" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof function f( a, b, ){} === &apos;function&apos;;
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("24");try{return Function("asyncTestPassed","\nreturn typeof function f( a, b, ){} === 'function';\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("24");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof function f( a, b, ){} === 'function';\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no flagged obsolete" data-browser="chrome57">Flag</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="trailing_commas_in_function_syntax" id="test-trailing_commas_in_function_syntax_in_argument_lists_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Function_calls_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-trailing_commas_in_function_syntax_in_argument_lists_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Function_calls_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>in argument lists <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Function_calls" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return Math.min(1,2,3,) === 1;
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("25");try{return Function("asyncTestPassed","\nreturn Math.min(1,2,3,) === 1;\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("25");return Function("asyncTestPassed","'use strict';"+"\nreturn Math.min(1,2,3,) === 1;\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="yes" data-browser="babel">Yes</td>
<td class="no" data-browser="closure">No</td>
<td class="yes" data-browser="typescript">Yes</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no flagged obsolete" data-browser="chrome57">Flag</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest" significance="1"><td id="test-async_functions"><span><a class="anchor" href="#test-async_functions">&#xA7;</a><a href="https://tc39.github.io/ecmascript-asyncawait/">async functions</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span></td>
<td class="tally" data-browser="tr" data-tally="0.2" style="background-color:hsl(24,77%,50%)">3/15</td>
<td class="tally" data-browser="babel" data-tally="0.2" style="background-color:hsl(24,77%,50%)">3/15</td>
<td class="tally" data-browser="closure" data-tally="0.2" style="background-color:hsl(24,77%,50%)">3/15</td>
<td class="tally" data-browser="typescript" data-tally="0.13333333333333333" style="background-color:hsl(16,80%,50%)">2/15</td>
<td class="tally" data-browser="es7shim" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/15</td>
<td class="tally" data-browser="ie11" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0" data-flagged-tally="0.7333333333333333">0/15</td>
<td class="tally" data-browser="edge14" data-tally="0" data-flagged-tally="0.9333333333333333">0/15</td>
<td class="tally" data-browser="edge15" data-tally="1">15/15</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/15</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="0">0/15</td>
<td class="tally" data-browser="firefox52" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">15/15</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0" data-flagged-tally="0.2">0/15</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0" data-flagged-tally="0.2">0/15</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0" data-flagged-tally="0.2">0/15</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="1">15/15</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="1">15/15</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">15/15</td>
<td class="tally" data-browser="chrome58" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">15/15</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/15</td>
<td class="tally" data-browser="safari10" data-tally="0">0/15</td>
<td class="tally" data-browser="safari10_1" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">15/15</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">15/15</td>
<td class="tally" data-browser="phantom" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/15</td>
<td class="tally" data-browser="node4" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="node6" data-tally="0">0/15</td>
<td class="tally" data-browser="node65" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="node7" data-tally="0" data-flagged-tally="0.2">0/15</td>
<td class="tally" data-browser="node76" data-tally="1">15/15</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/15</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/15</td>
<td class="tally" data-browser="android44" data-tally="0">0/15</td>
<td class="tally" data-browser="android50" data-tally="0">0/15</td>
<td class="tally" data-browser="android51" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/15</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/15</td>
<td class="tally" data-browser="ios9" data-tally="0">0/15</td>
<td class="tally" data-browser="ios10" data-tally="0">0/15</td>
<td class="tally" data-browser="ios10_3" data-tally="1">15/15</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_return"><td><span><a class="anchor" href="#test-async_functions_return">&#xA7;</a>return</span><script data-source="
async function a(){
  return &quot;foo&quot;;
}
var p = a();
if (!(p instanceof Promise)) {
  return false;
}
p.then(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("27");try{return Function("asyncTestPassed","\nasync function a(){\n  return \"foo\";\n}\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("27");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){\n  return \"foo\";\n}\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes" data-browser="tr">Yes</td>
<td class="yes" data-browser="babel">Yes<a href="#babel-regenerator-note"><sup>[13]</sup></a></td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-async-await-note"><sup>[14]</sup></a></td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="no flagged obsolete" data-browser="chrome54">Flag</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no flagged obsolete" data-browser="node7">Flag</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_throw"><td><span><a class="anchor" href="#test-async_functions_throw">&#xA7;</a>throw</span><script data-source="
async function a(){
  throw &quot;foo&quot;;
}
var p = a();
if (!(p instanceof Promise)) {
  return false;
}
p.catch(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("28");try{return Function("asyncTestPassed","\nasync function a(){\n  throw \"foo\";\n}\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.catch(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("28");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){\n  throw \"foo\";\n}\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.catch(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_no_line_break_between_async_and_function"><td><span><a class="anchor" href="#test-async_functions_no_line_break_between_async_and_function">&#xA7;</a>no line break between async and function</span><script data-source="
async function a(){}
try { Function(&quot;async\n function a(){}&quot;)(); } catch(e) { return true; }
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("29");try{return Function("asyncTestPassed","\nasync function a(){}\ntry { Function(\"async\\n function a(){}\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("29");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){}\ntry { Function(\"async\\n function a(){}\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_no_prototype_property"><td><span><a class="anchor" href="#test-async_functions_no_prototype_property">&#xA7;</a>no &quot;prototype&quot; property</span><script data-source="
async function a(){};
return !a.hasOwnProperty(&quot;prototype&quot;);
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("30");try{return Function("asyncTestPassed","\nasync function a(){};\nreturn !a.hasOwnProperty(\"prototype\");\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("30");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){};\nreturn !a.hasOwnProperty(\"prototype\");\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_await_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-async_functions_await_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>await <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
(async function (){
  await Promise.resolve();
  var a1 = await new Promise(function(resolve) { setTimeout(resolve,800,&quot;foo&quot;); });
  var a2 = await new Promise(function(resolve) { setTimeout(resolve,800,&quot;bar&quot;); });
  if (a1 + a2 === &quot;foobar&quot;) {
    asyncTestPassed();
  }
}());
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("31");try{return Function("asyncTestPassed","\n(async function (){\n  await Promise.resolve();\n  var a1 = await new Promise(function(resolve) { setTimeout(resolve,800,\"foo\"); });\n  var a2 = await new Promise(function(resolve) { setTimeout(resolve,800,\"bar\"); });\n  if (a1 + a2 === \"foobar\") {\n    asyncTestPassed();\n  }\n}());\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("31");return Function("asyncTestPassed","'use strict';"+"\n(async function (){\n  await Promise.resolve();\n  var a1 = await new Promise(function(resolve) { setTimeout(resolve,800,\"foo\"); });\n  var a2 = await new Promise(function(resolve) { setTimeout(resolve,800,\"bar\"); });\n  if (a1 + a2 === \"foobar\") {\n    asyncTestPassed();\n  }\n}());\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes" data-browser="tr">Yes</td>
<td class="yes" data-browser="babel">Yes<a href="#babel-regenerator-note"><sup>[13]</sup></a></td>
<td class="yes" data-browser="closure">Yes</td>
<td class="yes" data-browser="typescript">Yes<a href="#typescript-async-await-note"><sup>[14]</sup></a></td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="no flagged obsolete" data-browser="chrome54">Flag</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no flagged obsolete" data-browser="node7">Flag</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_await,_rejection"><td><span><a class="anchor" href="#test-async_functions_await,_rejection">&#xA7;</a>await, rejection</span><script data-source="
(async function (){
  await Promise.resolve();
  try {
    var a1 = await new Promise(function(_, reject) { setTimeout(reject,800,&quot;foo&quot;); });
  } catch(e) {
    if (e === &quot;foo&quot;) {
      asyncTestPassed();
    }
  }
}());
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("32");try{return Function("asyncTestPassed","\n(async function (){\n  await Promise.resolve();\n  try {\n    var a1 = await new Promise(function(_, reject) { setTimeout(reject,800,\"foo\"); });\n  } catch(e) {\n    if (e === \"foo\") {\n      asyncTestPassed();\n    }\n  }\n}());\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("32");return Function("asyncTestPassed","'use strict';"+"\n(async function (){\n  await Promise.resolve();\n  try {\n    var a1 = await new Promise(function(_, reject) { setTimeout(reject,800,\"foo\"); });\n  } catch(e) {\n    if (e === \"foo\") {\n      asyncTestPassed();\n    }\n  }\n}());\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_must_await_a_value"><td><span><a class="anchor" href="#test-async_functions_must_await_a_value">&#xA7;</a>must await a value</span><script data-source="
async function a(){ await Promise.resolve(); }
try { Function(&quot;(async function a(){ await; }())&quot;)(); } catch(e) { return true; }
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("33");try{return Function("asyncTestPassed","\nasync function a(){ await Promise.resolve(); }\ntry { Function(\"(async function a(){ await; }())\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("33");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){ await Promise.resolve(); }\ntry { Function(\"(async function a(){ await; }())\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_can_await_non-Promise_values"><td><span><a class="anchor" href="#test-async_functions_can_await_non-Promise_values">&#xA7;</a>can await non-Promise values</span><script data-source="
(async function (){
  await Promise.resolve();
  var e = await &quot;foo&quot;;
  if (e === &quot;foo&quot;) {
    asyncTestPassed();
  }
}());
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("34");try{return Function("asyncTestPassed","\n(async function (){\n  await Promise.resolve();\n  var e = await \"foo\";\n  if (e === \"foo\") {\n    asyncTestPassed();\n  }\n}());\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("34");return Function("asyncTestPassed","'use strict';"+"\n(async function (){\n  await Promise.resolve();\n  var e = await \"foo\";\n  if (e === \"foo\") {\n    asyncTestPassed();\n  }\n}());\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_cannot_await_in_parameters"><td><span><a class="anchor" href="#test-async_functions_cannot_await_in_parameters">&#xA7;</a>cannot await in parameters</span><script data-source="
async function a(){ await Promise.resolve(); }
try { Function(&quot;(async function a(b = await Promise.resolve()){}())&quot;)(); } catch(e) { return true; }
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("35");try{return Function("asyncTestPassed","\nasync function a(){ await Promise.resolve(); }\ntry { Function(\"(async function a(b = await Promise.resolve()){}())\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("35");return Function("asyncTestPassed","'use strict';"+"\nasync function a(){ await Promise.resolve(); }\ntry { Function(\"(async function a(b = await Promise.resolve()){}())\")(); } catch(e) { return true; }\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_async_methods,_object_literals"><td><span><a class="anchor" href="#test-async_functions_async_methods,_object_literals">&#xA7;</a>async methods, object literals</span><script data-source="
var o = {
  async a(){ return await Promise.resolve(&quot;foo&quot;); }
};
var p = o.a();
if (!(p instanceof Promise)) {
  return false;
}
p.then(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("36");try{return Function("asyncTestPassed","\nvar o = {\n  async a(){ return await Promise.resolve(\"foo\"); }\n};\nvar p = o.a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("36");return Function("asyncTestPassed","'use strict';"+"\nvar o = {\n  async a(){ return await Promise.resolve(\"foo\"); }\n};\nvar p = o.a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_async_methods,_classes"><td><span><a class="anchor" href="#test-async_functions_async_methods,_classes">&#xA7;</a>async methods, classes</span><script data-source="
class C {
  async a(){ return await Promise.resolve(&quot;foo&quot;); }
};
var p = new C().a();
if (!(p instanceof Promise)) {
  return false;
}
p.then(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("37");try{return Function("asyncTestPassed","\nclass C {\n  async a(){ return await Promise.resolve(\"foo\"); }\n};\nvar p = new C().a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("37");return Function("asyncTestPassed","'use strict';"+"\nclass C {\n  async a(){ return await Promise.resolve(\"foo\"); }\n};\nvar p = new C().a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_async_arrow_functions"><td><span><a class="anchor" href="#test-async_functions_async_arrow_functions">&#xA7;</a>async arrow functions</span><script data-source="
var a = async () =&gt; await Promise.resolve(&quot;foo&quot;);
var p = a();
if (!(p instanceof Promise)) {
  return false;
}
p.then(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("38");try{return Function("asyncTestPassed","\nvar a = async () => await Promise.resolve(\"foo\");\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("38");return Function("asyncTestPassed","'use strict';"+"\nvar a = async () => await Promise.resolve(\"foo\");\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes" data-browser="tr">Yes</td>
<td class="yes" data-browser="babel">Yes<a href="#babel-regenerator-note"><sup>[13]</sup></a></td>
<td class="yes" data-browser="closure">Yes</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no flagged obsolete" data-browser="edge13">Flag</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no flagged obsolete" data-browser="chrome52">Flag</td>
<td class="no flagged obsolete" data-browser="chrome53">Flag</td>
<td class="no flagged obsolete" data-browser="chrome54">Flag</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no flagged obsolete" data-browser="node7">Flag</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_correct_prototype_chain"><td><span><a class="anchor" href="#test-async_functions_correct_prototype_chain">&#xA7;</a>correct prototype chain</span><script data-source="
var asyncFunctionProto = Object.getPrototypeOf(async function (){});
return asyncFunctionProto !== function(){}.prototype
  &amp;&amp; Object.getPrototypeOf(asyncFunctionProto) === Function.prototype;
return passed;
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("39");try{return Function("asyncTestPassed","\nvar asyncFunctionProto = Object.getPrototypeOf(async function (){});\nreturn asyncFunctionProto !== function(){}.prototype\n  && Object.getPrototypeOf(asyncFunctionProto) === Function.prototype;\nreturn passed;\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("39");return Function("asyncTestPassed","'use strict';"+"\nvar asyncFunctionProto = Object.getPrototypeOf(async function (){});\nreturn asyncFunctionProto !== function(){}.prototype\n  && Object.getPrototypeOf(asyncFunctionProto) === Function.prototype;\nreturn passed;\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_async_function_prototype,_Symbol.toStringTag"><td><span><a class="anchor" href="#test-async_functions_async_function_prototype,_Symbol.toStringTag">&#xA7;</a>async function prototype, Symbol.toStringTag</span><script data-source="
return Object.getPrototypeOf(async function (){})[Symbol.toStringTag] == &quot;AsyncFunction&quot;;
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("40");try{return Function("asyncTestPassed","\nreturn Object.getPrototypeOf(async function (){})[Symbol.toStringTag] == \"AsyncFunction\";\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("40");return Function("asyncTestPassed","'use strict';"+"\nreturn Object.getPrototypeOf(async function (){})[Symbol.toStringTag] == \"AsyncFunction\";\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="async_functions" id="test-async_functions_async_function_constructor"><td><span><a class="anchor" href="#test-async_functions_async_function_constructor">&#xA7;</a>async function constructor</span><script data-source="
var a = async function (){}.constructor(&quot;return &apos;foo&apos;;&quot;);
var p = a();
if (!(p instanceof Promise)) {
  return false;
}
p.then(function(result) {
  if (result === &quot;foo&quot;) {
    asyncTestPassed();
  }
});
        ">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("41");try{return Function("asyncTestPassed","\nvar a = async function (){}.constructor(\"return 'foo';\");\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("41");return Function("asyncTestPassed","'use strict';"+"\nvar a = async function (){}.constructor(\"return 'foo';\");\nvar p = a();\nif (!(p instanceof Promise)) {\n  return false;\n}\np.then(function(result) {\n  if (result === \"foo\") {\n    asyncTestPassed();\n  }\n});\n        ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown" data-browser="tr">?</td>
<td class="unknown" data-browser="babel">?</td>
<td class="unknown" data-browser="closure">?</td>
<td class="unknown" data-browser="typescript">?</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no flagged" data-browser="edge14">Flag</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="unknown obsolete" data-browser="chrome52">?</td>
<td class="unknown obsolete" data-browser="chrome53">?</td>
<td class="unknown obsolete" data-browser="chrome54">?</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="unknown obsolete" data-browser="node7">?</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest" significance="0.5"><td id="test-shared_memory_and_atomics"><span><a class="anchor" href="#test-shared_memory_and_atomics">&#xA7;</a><a href="https://github.com/tc39/ecmascript_sharedmem">shared memory and atomics</a></span></td>
<td class="tally" data-browser="tr" data-tally="0">0/17</td>
<td class="tally" data-browser="babel" data-tally="0">0/17</td>
<td class="tally" data-browser="closure" data-tally="0">0/17</td>
<td class="tally" data-browser="typescript" data-tally="0">0/17</td>
<td class="tally" data-browser="es7shim" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/17</td>
<td class="tally" data-browser="ie11" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0">0/17</td>
<td class="tally" data-browser="edge14" data-tally="0">0/17</td>
<td class="tally" data-browser="edge15" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0">0/17</td>
<td class="tally" data-browser="firefox45" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="0">0/17</td>
<td class="tally" data-browser="firefox52" data-tally="0">0/17</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">17/17</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">17/17</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">17/17</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally" data-browser="chrome58" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally unstable" data-browser="chrome59" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/17</td>
<td class="tally" data-browser="safari10" data-tally="0">0/17</td>
<td class="tally" data-browser="safari10_1" data-tally="0.9411764705882353" style="background-color:hsl(112,44%,50%)">16/17</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">17/17</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">17/17</td>
<td class="tally" data-browser="phantom" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="node010" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="node012" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="iojs" data-tally="0">0/17</td>
<td class="tally" data-browser="node4" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="node5" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="node6" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally" data-browser="node65" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally obsolete" data-browser="node7" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally" data-browser="node76" data-tally="0" data-flagged-tally="0.8823529411764706">0/17</td>
<td class="tally" data-browser="duktape20" data-tally="0">0/17</td>
<td class="tally" data-browser="duktape21" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/17</td>
<td class="tally" data-browser="android44" data-tally="0">0/17</td>
<td class="tally" data-browser="android50" data-tally="0">0/17</td>
<td class="tally" data-browser="android51" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/17</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/17</td>
<td class="tally" data-browser="ios9" data-tally="0">0/17</td>
<td class="tally" data-browser="ios10" data-tally="0">0/17</td>
<td class="tally" data-browser="ios10_3" data-tally="0.9411764705882353" style="background-color:hsl(112,44%,50%)">16/17</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_SharedArrayBuffer_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_SharedArrayBuffer_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>SharedArrayBuffer <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof SharedArrayBuffer === &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("43");try{return Function("asyncTestPassed","\nreturn typeof SharedArrayBuffer === 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("43");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof SharedArrayBuffer === 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_SharedArrayBuffer[Symbol.species]"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_SharedArrayBuffer[Symbol.species]">&#xA7;</a>SharedArrayBuffer[Symbol.species]</span><script data-source="
return SharedArrayBuffer[Symbol.species] === SharedArrayBuffer;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("44");try{return Function("asyncTestPassed","\nreturn SharedArrayBuffer[Symbol.species] === SharedArrayBuffer;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("44");return Function("asyncTestPassed","'use strict';"+"\nreturn SharedArrayBuffer[Symbol.species] === SharedArrayBuffer;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_SharedArrayBuffer.prototype.byteLength_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/byteLength_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_SharedArrayBuffer.prototype.byteLength_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/byteLength_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>SharedArrayBuffer.prototype.byteLength <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/byteLength" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return &apos;byteLength&apos; in SharedArrayBuffer.prototype;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("45");try{return Function("asyncTestPassed","\nreturn 'byteLength' in SharedArrayBuffer.prototype;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("45");return Function("asyncTestPassed","'use strict';"+"\nreturn 'byteLength' in SharedArrayBuffer.prototype;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_SharedArrayBuffer.prototype.slice_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_SharedArrayBuffer.prototype.slice_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>SharedArrayBuffer.prototype.slice <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof SharedArrayBuffer.prototype.slice === &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("46");try{return Function("asyncTestPassed","\nreturn typeof SharedArrayBuffer.prototype.slice === 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("46");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof SharedArrayBuffer.prototype.slice === 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_SharedArrayBuffer.prototype[Symbol.toStringTag]"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_SharedArrayBuffer.prototype[Symbol.toStringTag]">&#xA7;</a>SharedArrayBuffer.prototype[Symbol.toStringTag]</span><script data-source="
return SharedArrayBuffer.prototype[Symbol.toStringTag] === &apos;SharedArrayBuffer&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("47");try{return Function("asyncTestPassed","\nreturn SharedArrayBuffer.prototype[Symbol.toStringTag] === 'SharedArrayBuffer';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("47");return Function("asyncTestPassed","'use strict';"+"\nreturn SharedArrayBuffer.prototype[Symbol.toStringTag] === 'SharedArrayBuffer';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.add_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.add_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.add <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.add == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("48");try{return Function("asyncTestPassed","\nreturn typeof Atomics.add == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("48");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.add == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.and_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/and_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.and_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/and_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/and" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.and == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("49");try{return Function("asyncTestPassed","\nreturn typeof Atomics.and == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("49");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.and == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.compareExchange_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.compareExchange_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.compareExchange <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/compareExchange" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.compareExchange == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("50");try{return Function("asyncTestPassed","\nreturn typeof Atomics.compareExchange == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("50");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.compareExchange == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.exchange_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/exchange_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.exchange_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/exchange_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.exchange <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/exchange" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.exchange == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("51");try{return Function("asyncTestPassed","\nreturn typeof Atomics.exchange == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("51");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.exchange == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.wait_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.wait_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.wait <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.wait == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("52");try{return Function("asyncTestPassed","\nreturn typeof Atomics.wait == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("52");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.wait == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.wake_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wake_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.wake_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wake_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.wake <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wake" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.wake == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("53");try{return Function("asyncTestPassed","\nreturn typeof Atomics.wake == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("53");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.wake == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.isLockFree_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.isLockFree_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.isLockFree <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/isLockFree" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.isLockFree == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("54");try{return Function("asyncTestPassed","\nreturn typeof Atomics.isLockFree == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("54");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.isLockFree == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.load_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/load_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.load_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/load_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.load <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/load" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.load == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("55");try{return Function("asyncTestPassed","\nreturn typeof Atomics.load == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("55");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.load == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.or_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/or_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.or_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/or_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.or <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/or" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.or == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("56");try{return Function("asyncTestPassed","\nreturn typeof Atomics.or == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("56");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.or == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.store_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/store_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.store_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/store_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.store <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/store" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.store == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("57");try{return Function("asyncTestPassed","\nreturn typeof Atomics.store == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("57");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.store == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.sub_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/sub_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.sub_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/sub_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.sub <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/sub" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.sub == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("58");try{return Function("asyncTestPassed","\nreturn typeof Atomics.sub == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("58");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.sub == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="shared_memory_and_atomics" id="test-shared_memory_and_atomics_Atomics.xor_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/xor_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-shared_memory_and_atomics_Atomics.xor_a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/xor_title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>Atomics.xor <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/xor" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return typeof Atomics.xor == &apos;function&apos;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("59");try{return Function("asyncTestPassed","\nreturn typeof Atomics.xor == 'function';\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("59");return Function("asyncTestPassed","'use strict';"+"\nreturn typeof Atomics.xor == 'function';\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox47">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox48">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox49">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox50">No<a href="#firefox-nightly-note"><sup>[5]</sup></a></td>
<td class="no obsolete" data-browser="firefox51">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="no" data-browser="firefox52">No<a href="#firefox-developer-note"><sup>[15]</sup></a></td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no flagged obsolete" data-browser="chrome48">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome49">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome50">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome51">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome52">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome53">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome54">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome55">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome56">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="chrome57">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="chrome58">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged unstable" data-browser="chrome59">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no flagged obsolete" data-browser="node6">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node65">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged obsolete" data-browser="node7">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no flagged" data-browser="node76">Flag<a href="#chrome-sharedmem-note"><sup>[16]</sup></a></td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="category"><td colspan="75">2017 misc</td>
</tr>
<tr significance="0.125"><td id="test-Proxy_ownKeys_handler,_duplicate_keys_for_non-extensible_targets"><span><a class="anchor" href="#test-Proxy_ownKeys_handler,_duplicate_keys_for_non-extensible_targets">&#xA7;</a><a href="https://github.com/tc39/ecma262/pull/594">Proxy &quot;ownKeys&quot; handler, duplicate keys for non-extensible targets</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/ownKeys" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var P = new Proxy(Object.preventExtensions(Object.defineProperty({a:1}, &quot;b&quot;, {value:1})), {
ownKeys: function() {
return [&apos;a&apos;,&apos;a&apos;,&apos;b&apos;,&apos;b&apos;];
}
});
return Object.getOwnPropertyNames(P) + &apos;&apos; === &quot;a,a,b,b&quot;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("60");try{return Function("asyncTestPassed","\nvar P = new Proxy(Object.preventExtensions(Object.defineProperty({a:1}, \"b\", {value:1})), {\nownKeys: function() {\nreturn ['a','a','b','b'];\n}\n});\nreturn Object.getOwnPropertyNames(P) + '' === \"a,a,b,b\";\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("60");return Function("asyncTestPassed","'use strict';"+"\nvar P = new Proxy(Object.preventExtensions(Object.defineProperty({a:1}, \"b\", {value:1})), {\nownKeys: function() {\nreturn ['a','a','b','b'];\n}\n});\nreturn Object.getOwnPropertyNames(P) + '' === \"a,a,b,b\";\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="yes" data-browser="node65">Yes</td>
<td class="yes obsolete" data-browser="node7">Yes</td>
<td class="yes" data-browser="node76">Yes</td>
<td class="yes" data-browser="duktape20">Yes</td>
<td class="yes" data-browser="duktape21">Yes</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-RegExp_u_flag,_case_folding"><span><a class="anchor" href="#test-RegExp_u_flag,_case_folding">&#xA7;</a><a href="https://github.com/tc39/ecma262/pull/525">RegExp &quot;u&quot; flag, case folding</a></span><script data-source="
return &quot;&#x17F;&quot;.match(/\w/iu) &amp;&amp; !&quot;&#x17F;&quot;.match(/\W/iu)
&amp;&amp; &quot;\u212a&quot;.match(/\w/iu) &amp;&amp; !&quot;\u212a&quot;.match(/\W/iu)
&amp;&amp; &quot;\u212a&quot;.match(/.\b/iu) &amp;&amp; &quot;&#x17F;&quot;.match(/.\b/iu)
&amp;&amp; !&quot;\u212a&quot;.match(/.\B/iu) &amp;&amp; !&quot;&#x17F;&quot;.match(/.\B/iu);
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("61");try{return Function("asyncTestPassed","\nreturn \"ſ\".match(/\\w/iu) && !\"ſ\".match(/\\W/iu)\n&& \"\\u212a\".match(/\\w/iu) && !\"\\u212a\".match(/\\W/iu)\n&& \"\\u212a\".match(/.\\b/iu) && \"ſ\".match(/.\\b/iu)\n&& !\"\\u212a\".match(/.\\B/iu) && !\"ſ\".match(/.\\B/iu);\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("61");return Function("asyncTestPassed","'use strict';"+"\nreturn \"ſ\".match(/\\w/iu) && !\"ſ\".match(/\\W/iu)\n&& \"\\u212a\".match(/\\w/iu) && !\"\\u212a\".match(/\\W/iu)\n&& \"\\u212a\".match(/.\\b/iu) && \"ſ\".match(/.\\b/iu)\n&& !\"\\u212a\".match(/.\\B/iu) && !\"ſ\".match(/.\\B/iu);\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="no unstable" data-browser="firefox53">No</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125"><td id="test-arguments.caller_removed"><span><a class="anchor" href="#test-arguments.caller_removed">&#xA7;</a><a href="https://github.com/tc39/ecma262/pull/689">arguments.caller removed</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
return (function(){
  &apos;use strict&apos;;
  return !Object.getOwnPropertyDescriptor(arguments,&apos;caller&apos;);
})();
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("62");try{return Function("asyncTestPassed","\nreturn (function(){\n  'use strict';\n  return !Object.getOwnPropertyDescriptor(arguments,'caller');\n})();\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("62");return Function("asyncTestPassed","'use strict';"+"\nreturn (function(){\n  'use strict';\n  return !Object.getOwnPropertyDescriptor(arguments,'caller');\n})();\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="category"><td colspan="75">2017 annex b</td>
</tr>
<tr class="supertest optional-feature" significance="0.125"><td id="test-Object.prototype_getter/setter_methods"><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods">&#xA7;</a><a href="https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__">Object.prototype getter/setter methods</a></span></td>
<td class="tally not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="1">16/16</td>
<td class="tally not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="1">16/16</td>
<td class="tally not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/16</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/16</td>
<td class="tally" data-browser="ie11" data-tally="0.5" style="background-color:hsl(60,64%,50%)">8/16</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally" data-browser="edge14" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally" data-browser="edge15" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0.875" style="background-color:hsl(105,47%,50%)">14/16</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0.875" style="background-color:hsl(105,47%,50%)">14/16</td>
<td class="tally" data-browser="firefox45" data-tally="0.875" style="background-color:hsl(105,47%,50%)">14/16</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0.875" style="background-color:hsl(105,47%,50%)">14/16</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0.875" style="background-color:hsl(105,47%,50%)">14/16</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="1">16/16</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="1">16/16</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">16/16</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">16/16</td>
<td class="tally" data-browser="firefox52" data-tally="1">16/16</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">16/16</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">16/16</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">16/16</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally" data-browser="chrome58" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally unstable" data-browser="chrome59" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="safari9" data-tally="1">16/16</td>
<td class="tally" data-browser="safari10" data-tally="1">16/16</td>
<td class="tally" data-browser="safari10_1" data-tally="1">16/16</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">16/16</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">16/16</td>
<td class="tally" data-browser="phantom" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.625">10/16</td>
<td class="tally not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/16</td>
<td class="tally obsolete" data-browser="android40" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="android41" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="android42" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="android43" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally" data-browser="android44" data-tally="0.375" style="background-color:hsl(45,69%,50%)">6/16</td>
<td class="tally" data-browser="android50" data-tally="0.375" style="background-color:hsl(45,69%,50%)">6/16</td>
<td class="tally" data-browser="android51" data-tally="0.625" style="background-color:hsl(75,58%,50%)">10/16</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0.5" style="background-color:hsl(60,64%,50%)">8/16</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0.75" style="background-color:hsl(90,53%,50%)">12/16</td>
<td class="tally" data-browser="ios9" data-tally="1">16/16</td>
<td class="tally" data-browser="ios10" data-tally="1">16/16</td>
<td class="tally" data-browser="ios10_3" data-tally="1">16/16</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineGetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineGetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>__defineGetter__ <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = {};
function bar() { return &quot;bar&quot;; }
Object.prototype.__defineGetter__.call(obj, &quot;foo&quot;, bar);
var prop = Object.getOwnPropertyDescriptor(obj, &quot;foo&quot;);
return prop.get === bar &amp;&amp; !prop.writable &amp;&amp; prop.configurable
&amp;&amp; prop.enumerable;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("64");try{return Function("asyncTestPassed","\nvar obj = {};\nfunction bar() { return \"bar\"; }\nObject.prototype.__defineGetter__.call(obj, \"foo\", bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, \"foo\");\nreturn prop.get === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("64");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {};\nfunction bar() { return \"bar\"; }\nObject.prototype.__defineGetter__.call(obj, \"foo\", bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, \"foo\");\nreturn prop.get === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineGetter__,_symbols"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineGetter__,_symbols">&#xA7;</a>__defineGetter__, symbols</span><script data-source="
var obj = {};
var sym = Symbol();
function bar() { return &quot;bar&quot;; }
Object.prototype.__defineGetter__.call(obj, sym, bar);
var prop = Object.getOwnPropertyDescriptor(obj, sym);
return prop.get === bar &amp;&amp; !prop.writable &amp;&amp; prop.configurable
&amp;&amp; prop.enumerable;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("65");try{return Function("asyncTestPassed","\nvar obj = {};\nvar sym = Symbol();\nfunction bar() { return \"bar\"; }\nObject.prototype.__defineGetter__.call(obj, sym, bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, sym);\nreturn prop.get === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("65");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {};\nvar sym = Symbol();\nfunction bar() { return \"bar\"; }\nObject.prototype.__defineGetter__.call(obj, sym, bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, sym);\nreturn prop.get === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineGetter__,_ToObject(this)"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineGetter__,_ToObject(this)">&#xA7;</a>__defineGetter__, ToObject(this)</span><script data-source="
var key = &apos;__accessors_test__&apos;;
__defineGetter__.call(1, key, function(){});
try {
__defineGetter__.call(null, key, function(){});
} catch(e){
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("66");try{return Function("asyncTestPassed","\nvar key = '__accessors_test__';\n__defineGetter__.call(1, key, function(){});\ntry {\n__defineGetter__.call(null, key, function(){});\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("66");return Function("asyncTestPassed","'use strict';"+"\nvar key = '__accessors_test__';\n__defineGetter__.call(1, key, function(){});\ntry {\n__defineGetter__.call(null, key, function(){});\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineSetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineSetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>__defineSetter__ <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = {};
function bar() {}
Object.prototype.__defineSetter__.call(obj, &quot;foo&quot;, bar);
var prop = Object.getOwnPropertyDescriptor(obj, &quot;foo&quot;);
return prop.set === bar &amp;&amp; !prop.writable &amp;&amp; prop.configurable
&amp;&amp; prop.enumerable;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("67");try{return Function("asyncTestPassed","\nvar obj = {};\nfunction bar() {}\nObject.prototype.__defineSetter__.call(obj, \"foo\", bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, \"foo\");\nreturn prop.set === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("67");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {};\nfunction bar() {}\nObject.prototype.__defineSetter__.call(obj, \"foo\", bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, \"foo\");\nreturn prop.set === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineSetter__,_symbols"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineSetter__,_symbols">&#xA7;</a>__defineSetter__, symbols</span><script data-source="
var obj = {};
var sym = Symbol();
function bar(baz) {}
Object.prototype.__defineSetter__.call(obj, sym, bar);
var prop = Object.getOwnPropertyDescriptor(obj, sym);
return prop.set === bar &amp;&amp; !prop.writable &amp;&amp; prop.configurable
&amp;&amp; prop.enumerable;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("68");try{return Function("asyncTestPassed","\nvar obj = {};\nvar sym = Symbol();\nfunction bar(baz) {}\nObject.prototype.__defineSetter__.call(obj, sym, bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, sym);\nreturn prop.set === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("68");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {};\nvar sym = Symbol();\nfunction bar(baz) {}\nObject.prototype.__defineSetter__.call(obj, sym, bar);\nvar prop = Object.getOwnPropertyDescriptor(obj, sym);\nreturn prop.set === bar && !prop.writable && prop.configurable\n&& prop.enumerable;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___defineSetter__,_ToObject(this)"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___defineSetter__,_ToObject(this)">&#xA7;</a>__defineSetter__, ToObject(this)</span><script data-source="
var key = &apos;__accessors_test__&apos;;
__defineSetter__.call(1, key, function(){});
try {
__defineSetter__.call(null, key, function(){});
} catch(e){
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("69");try{return Function("asyncTestPassed","\nvar key = '__accessors_test__';\n__defineSetter__.call(1, key, function(){});\ntry {\n__defineSetter__.call(null, key, function(){});\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("69");return Function("asyncTestPassed","'use strict';"+"\nvar key = '__accessors_test__';\n__defineSetter__.call(1, key, function(){});\ntry {\n__defineSetter__.call(null, key, function(){});\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupGetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupGetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>__lookupGetter__ <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = {
get foo() { return &quot;bar&quot;},
qux: 1
};
var foo = Object.prototype.__lookupGetter__.call(obj, &quot;foo&quot;);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, &quot;qux&quot;) === undefined
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, &quot;baz&quot;) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("70");try{return Function("asyncTestPassed","\nvar obj = {\nget foo() { return \"bar\"},\nqux: 1\n};\nvar foo = Object.prototype.__lookupGetter__.call(obj, \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupGetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("70");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {\nget foo() { return \"bar\"},\nqux: 1\n};\nvar foo = Object.prototype.__lookupGetter__.call(obj, \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupGetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupGetter__,_prototype_chain"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupGetter__,_prototype_chain">&#xA7;</a>__lookupGetter__, prototype chain</span><script data-source="
var obj = {
get foo() { return &quot;bar&quot;},
qux: 1
};
var foo = Object.prototype.__lookupGetter__.call(Object.create(obj), &quot;foo&quot;);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, &quot;qux&quot;) === undefined
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, &quot;baz&quot;) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("71");try{return Function("asyncTestPassed","\nvar obj = {\nget foo() { return \"bar\"},\nqux: 1\n};\nvar foo = Object.prototype.__lookupGetter__.call(Object.create(obj), \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupGetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("71");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {\nget foo() { return \"bar\"},\nqux: 1\n};\nvar foo = Object.prototype.__lookupGetter__.call(Object.create(obj), \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupGetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupGetter__,_symbols"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupGetter__,_symbols">&#xA7;</a>__lookupGetter__, symbols</span><script data-source="
var sym = Symbol();
var sym2 = Symbol();
var obj = {};
Object.defineProperty(obj, sym, { get: function() { return &quot;bar&quot;; }});
Object.defineProperty(obj, sym2, { value: 1 });
var foo = Object.prototype.__lookupGetter__.call(obj, sym);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, sym2) === undefined
&amp;&amp; Object.prototype.__lookupGetter__.call(obj, Symbol()) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("72");try{return Function("asyncTestPassed","\nvar sym = Symbol();\nvar sym2 = Symbol();\nvar obj = {};\nObject.defineProperty(obj, sym, { get: function() { return \"bar\"; }});\nObject.defineProperty(obj, sym2, { value: 1 });\nvar foo = Object.prototype.__lookupGetter__.call(obj, sym);\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, sym2) === undefined\n&& Object.prototype.__lookupGetter__.call(obj, Symbol()) === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("72");return Function("asyncTestPassed","'use strict';"+"\nvar sym = Symbol();\nvar sym2 = Symbol();\nvar obj = {};\nObject.defineProperty(obj, sym, { get: function() { return \"bar\"; }});\nObject.defineProperty(obj, sym2, { value: 1 });\nvar foo = Object.prototype.__lookupGetter__.call(obj, sym);\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupGetter__.call(obj, sym2) === undefined\n&& Object.prototype.__lookupGetter__.call(obj, Symbol()) === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupGetter__,_ToObject(this)"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupGetter__,_ToObject(this)">&#xA7;</a>__lookupGetter__, ToObject(this)</span><script data-source="
__lookupGetter__.call(1, &apos;key&apos;);
try {
__lookupGetter__.call(null, &apos;key&apos;);
} catch(e){
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("73");try{return Function("asyncTestPassed","\n__lookupGetter__.call(1, 'key');\ntry {\n__lookupGetter__.call(null, 'key');\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("73");return Function("asyncTestPassed","'use strict';"+"\n__lookupGetter__.call(1, 'key');\ntry {\n__lookupGetter__.call(null, 'key');\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupGetter__,_data_properties_can_shadow_accessors"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupGetter__,_data_properties_can_shadow_accessors">&#xA7;</a>__lookupGetter__, data properties can shadow accessors</span><script data-source="
var a = { };
var b = Object.create(a);
b.foo = 1;
a.__defineGetter__(&quot;foo&quot;, function () {})
return b.__lookupGetter__(&quot;foo&quot;) === undefined
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("74");try{return Function("asyncTestPassed","\nvar a = { };\nvar b = Object.create(a);\nb.foo = 1;\na.__defineGetter__(\"foo\", function () {})\nreturn b.__lookupGetter__(\"foo\") === undefined\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("74");return Function("asyncTestPassed","'use strict';"+"\nvar a = { };\nvar b = Object.create(a);\nb.foo = 1;\na.__defineGetter__(\"foo\", function () {})\nreturn b.__lookupGetter__(\"foo\") === undefined\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupSetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupSetter___a_href=_https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter___title=_MDN_documentation_img_src=_../mdn.png_alt=_MDN_(Mozilla_Development_Network)_logo_width=_15_height=_13_/_/a_nbsp;">&#xA7;</a>__lookupSetter__ <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
var obj = {
set foo(baz) { return &quot;bar&quot;; },
qux: 1
};
var foo = Object.prototype.__lookupSetter__.call(obj, &quot;foo&quot;);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, &quot;qux&quot;) === undefined
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, &quot;baz&quot;) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("75");try{return Function("asyncTestPassed","\nvar obj = {\nset foo(baz) { return \"bar\"; },\nqux: 1\n};\nvar foo = Object.prototype.__lookupSetter__.call(obj, \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupSetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("75");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {\nset foo(baz) { return \"bar\"; },\nqux: 1\n};\nvar foo = Object.prototype.__lookupSetter__.call(obj, \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupSetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupSetter__,_prototype_chain"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupSetter__,_prototype_chain">&#xA7;</a>__lookupSetter__, prototype chain</span><script data-source="
var obj = {
set foo(baz) { return &quot;bar&quot;; },
qux: 1
};
var foo = Object.prototype.__lookupSetter__.call(Object.create(obj), &quot;foo&quot;);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, &quot;qux&quot;) === undefined
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, &quot;baz&quot;) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("76");try{return Function("asyncTestPassed","\nvar obj = {\nset foo(baz) { return \"bar\"; },\nqux: 1\n};\nvar foo = Object.prototype.__lookupSetter__.call(Object.create(obj), \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupSetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("76");return Function("asyncTestPassed","'use strict';"+"\nvar obj = {\nset foo(baz) { return \"bar\"; },\nqux: 1\n};\nvar foo = Object.prototype.__lookupSetter__.call(Object.create(obj), \"foo\");\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, \"qux\") === undefined\n&& Object.prototype.__lookupSetter__.call(obj, \"baz\") === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupSetter__,_symbols"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupSetter__,_symbols">&#xA7;</a>__lookupSetter__, symbols</span><script data-source="
var sym = Symbol();
var sym2 = Symbol();
var obj = {};
Object.defineProperty(obj, sym, { set: function(baz) { return &quot;bar&quot;; }});
Object.defineProperty(obj, sym2, { value: 1 });
var foo = Object.prototype.__lookupSetter__.call(obj, sym);
return foo() === &quot;bar&quot;
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, sym2) === undefined
&amp;&amp; Object.prototype.__lookupSetter__.call(obj, Symbol()) === undefined;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("77");try{return Function("asyncTestPassed","\nvar sym = Symbol();\nvar sym2 = Symbol();\nvar obj = {};\nObject.defineProperty(obj, sym, { set: function(baz) { return \"bar\"; }});\nObject.defineProperty(obj, sym2, { value: 1 });\nvar foo = Object.prototype.__lookupSetter__.call(obj, sym);\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, sym2) === undefined\n&& Object.prototype.__lookupSetter__.call(obj, Symbol()) === undefined;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("77");return Function("asyncTestPassed","'use strict';"+"\nvar sym = Symbol();\nvar sym2 = Symbol();\nvar obj = {};\nObject.defineProperty(obj, sym, { set: function(baz) { return \"bar\"; }});\nObject.defineProperty(obj, sym2, { value: 1 });\nvar foo = Object.prototype.__lookupSetter__.call(obj, sym);\nreturn foo() === \"bar\"\n&& Object.prototype.__lookupSetter__.call(obj, sym2) === undefined\n&& Object.prototype.__lookupSetter__.call(obj, Symbol()) === undefined;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupSetter__,_ToObject(this)"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupSetter__,_ToObject(this)">&#xA7;</a>__lookupSetter__, ToObject(this)</span><script data-source="
__lookupSetter__.call(1, &apos;key&apos;);
try {
__lookupSetter__.call(null, &apos;key&apos;);
} catch(e){
return true;
}
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("78");try{return Function("asyncTestPassed","\n__lookupSetter__.call(1, 'key');\ntry {\n__lookupSetter__.call(null, 'key');\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("78");return Function("asyncTestPassed","'use strict';"+"\n__lookupSetter__.call(1, 'key');\ntry {\n__lookupSetter__.call(null, 'key');\n} catch(e){\nreturn true;\n}\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no unstable" data-browser="chrome59">No</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Object.prototype_getter/setter_methods" id="test-Object.prototype_getter/setter_methods___lookupSetter__,_data_properties_can_shadow_accessors"><td><span><a class="anchor" href="#test-Object.prototype_getter/setter_methods___lookupSetter__,_data_properties_can_shadow_accessors">&#xA7;</a>__lookupSetter__, data properties can shadow accessors</span><script data-source="
var a = { };
var b = Object.create(a);
b.foo = 1;
a.__defineSetter__(&quot;foo&quot;, function () {})
return b.__lookupSetter__(&quot;foo&quot;) === undefined
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("79");try{return Function("asyncTestPassed","\nvar a = { };\nvar b = Object.create(a);\nb.foo = 1;\na.__defineSetter__(\"foo\", function () {})\nreturn b.__lookupSetter__(\"foo\") === undefined\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("79");return Function("asyncTestPassed","'use strict';"+"\nvar a = { };\nvar b = Object.create(a);\nb.foo = 1;\na.__defineSetter__(\"foo\", function () {})\nreturn b.__lookupSetter__(\"foo\") === undefined\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes<a href="#typescript-core-js-note"><sup>[6]</sup></a></td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="yes obsolete" data-browser="safari9">Yes</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="yes" data-browser="ios9">Yes</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="supertest optional-feature" significance="0.125"><td id="test-Proxy_internal_calls,_getter/setter_methods"><span><a class="anchor" href="#test-Proxy_internal_calls,_getter/setter_methods">&#xA7;</a><a href="https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__">Proxy internal calls, getter/setter methods</a></span></td>
<td class="tally not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie9" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ie10" data-tally="0">0/4</td>
<td class="tally" data-browser="ie11" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge12" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="edge13" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally" data-browser="edge14" data-tally="1">4/4</td>
<td class="tally" data-browser="edge15" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox38" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox44" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally" data-browser="firefox45" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox46" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox47" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox48" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="firefox49" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox50" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="firefox51" data-tally="1">4/4</td>
<td class="tally" data-browser="firefox52" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox53" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox54" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="firefox55" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="chrome47" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome48" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome49" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome50" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="chrome52" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="chrome53" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="chrome54" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="chrome55" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="chrome56" data-tally="0.5" style="background-color:hsl(60,64%,50%)">2/4</td>
<td class="tally obsolete" data-browser="chrome57" data-tally="1">4/4</td>
<td class="tally" data-browser="chrome58" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="chrome59" data-tally="1">4/4</td>
<td class="tally obsolete" data-browser="safari51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari71_8" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="safari9" data-tally="0">0/4</td>
<td class="tally" data-browser="safari10" data-tally="1">4/4</td>
<td class="tally" data-browser="safari10_1" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="safaritp" data-tally="1">4/4</td>
<td class="tally unstable" data-browser="webkit" data-tally="1">4/4</td>
<td class="tally" data-browser="phantom" data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.5">2/4</td>
<td class="tally not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0.5">2/4</td>
<td class="tally not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage." data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android40" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android41" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android42" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="android43" data-tally="0">0/4</td>
<td class="tally" data-browser="android44" data-tally="0">0/4</td>
<td class="tally" data-browser="android50" data-tally="0">0/4</td>
<td class="tally" data-browser="android51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios51" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios6" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios7" data-tally="0">0/4</td>
<td class="tally obsolete" data-browser="ios8" data-tally="0">0/4</td>
<td class="tally" data-browser="ios9" data-tally="0">0/4</td>
<td class="tally" data-browser="ios10" data-tally="1">4/4</td>
<td class="tally" data-browser="ios10_3" data-tally="1">4/4</td>
</tr>
<tr class="subtest" data-parent="Proxy_internal_calls,_getter/setter_methods" id="test-Proxy_internal_calls,_getter/setter_methods___defineGetter__"><td><span><a class="anchor" href="#test-Proxy_internal_calls,_getter/setter_methods___defineGetter__">&#xA7;</a>__defineGetter__</span><script data-source="
// Object.prototype.__defineGetter__ -&gt; DefinePropertyOrThrow -&gt; [[DefineOwnProperty]]
var def = [];
var p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});
Object.prototype.__defineGetter__.call(p, &quot;foo&quot;, Object);
return def + &apos;&apos; === &quot;foo&quot;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("81");try{return Function("asyncTestPassed","\n// Object.prototype.__defineGetter__ -> DefinePropertyOrThrow -> [[DefineOwnProperty]]\nvar def = [];\nvar p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});\nObject.prototype.__defineGetter__.call(p, \"foo\", Object);\nreturn def + '' === \"foo\";\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("81");return Function("asyncTestPassed","'use strict';"+"\n// Object.prototype.__defineGetter__ -> DefinePropertyOrThrow -> [[DefineOwnProperty]]\nvar def = [];\nvar p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});\nObject.prototype.__defineGetter__.call(p, \"foo\", Object);\nreturn def + '' === \"foo\";\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Proxy_internal_calls,_getter/setter_methods" id="test-Proxy_internal_calls,_getter/setter_methods___defineSetter__"><td><span><a class="anchor" href="#test-Proxy_internal_calls,_getter/setter_methods___defineSetter__">&#xA7;</a>__defineSetter__</span><script data-source="
// Object.prototype.__defineSetter__ -&gt; DefinePropertyOrThrow -&gt; [[DefineOwnProperty]]
var def = [];
var p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});
Object.prototype.__defineSetter__.call(p, &quot;foo&quot;, Object);
return def + &apos;&apos; === &quot;foo&quot;;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("82");try{return Function("asyncTestPassed","\n// Object.prototype.__defineSetter__ -> DefinePropertyOrThrow -> [[DefineOwnProperty]]\nvar def = [];\nvar p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});\nObject.prototype.__defineSetter__.call(p, \"foo\", Object);\nreturn def + '' === \"foo\";\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("82");return Function("asyncTestPassed","'use strict';"+"\n// Object.prototype.__defineSetter__ -> DefinePropertyOrThrow -> [[DefineOwnProperty]]\nvar def = [];\nvar p = new Proxy({}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});\nObject.prototype.__defineSetter__.call(p, \"foo\", Object);\nreturn def + '' === \"foo\";\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="yes obsolete" data-browser="firefox44">Yes</td>
<td class="yes" data-browser="firefox45">Yes</td>
<td class="yes obsolete" data-browser="firefox46">Yes</td>
<td class="yes obsolete" data-browser="firefox47">Yes</td>
<td class="yes obsolete" data-browser="firefox48">Yes</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Proxy_internal_calls,_getter/setter_methods" id="test-Proxy_internal_calls,_getter/setter_methods___lookupGetter__"><td><span><a class="anchor" href="#test-Proxy_internal_calls,_getter/setter_methods___lookupGetter__">&#xA7;</a>__lookupGetter__</span><script data-source="
// Object.prototype.__lookupGetter__ -&gt; [[GetOwnProperty]]
// Object.prototype.__lookupGetter__ -&gt; [[GetPrototypeOf]]
var gopd = [];
var gpo = false;
var p = new Proxy({}, {
getPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },
getOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }
});
Object.prototype.__lookupGetter__.call(p, &quot;foo&quot;);
return gopd + &apos;&apos; === &quot;foo&quot; &amp;&amp; gpo;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("83");try{return Function("asyncTestPassed","\n// Object.prototype.__lookupGetter__ -> [[GetOwnProperty]]\n// Object.prototype.__lookupGetter__ -> [[GetPrototypeOf]]\nvar gopd = [];\nvar gpo = false;\nvar p = new Proxy({}, {\ngetPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },\ngetOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }\n});\nObject.prototype.__lookupGetter__.call(p, \"foo\");\nreturn gopd + '' === \"foo\" && gpo;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("83");return Function("asyncTestPassed","'use strict';"+"\n// Object.prototype.__lookupGetter__ -> [[GetOwnProperty]]\n// Object.prototype.__lookupGetter__ -> [[GetPrototypeOf]]\nvar gopd = [];\nvar gpo = false;\nvar p = new Proxy({}, {\ngetPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },\ngetOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }\n});\nObject.prototype.__lookupGetter__.call(p, \"foo\");\nreturn gopd + '' === \"foo\" && gpo;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="subtest" data-parent="Proxy_internal_calls,_getter/setter_methods" id="test-Proxy_internal_calls,_getter/setter_methods___lookupSetter__"><td><span><a class="anchor" href="#test-Proxy_internal_calls,_getter/setter_methods___lookupSetter__">&#xA7;</a>__lookupSetter__</span><script data-source="
// Object.prototype.__lookupSetter__ -&gt; [[GetOwnProperty]]
// Object.prototype.__lookupSetter__ -&gt; [[GetPrototypeOf]]
var gopd = [];
var gpo = false;
var p = new Proxy({}, {
getPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },
getOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }
});
Object.prototype.__lookupSetter__.call(p, &quot;foo&quot;);
return gopd + &apos;&apos; === &quot;foo&quot; &amp;&amp; gpo;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("84");try{return Function("asyncTestPassed","\n// Object.prototype.__lookupSetter__ -> [[GetOwnProperty]]\n// Object.prototype.__lookupSetter__ -> [[GetPrototypeOf]]\nvar gopd = [];\nvar gpo = false;\nvar p = new Proxy({}, {\ngetPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },\ngetOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }\n});\nObject.prototype.__lookupSetter__.call(p, \"foo\");\nreturn gopd + '' === \"foo\" && gpo;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("84");return Function("asyncTestPassed","'use strict';"+"\n// Object.prototype.__lookupSetter__ -> [[GetOwnProperty]]\n// Object.prototype.__lookupSetter__ -> [[GetPrototypeOf]]\nvar gopd = [];\nvar gpo = false;\nvar p = new Proxy({}, {\ngetPrototypeOf: function(o) { gpo = true; return Object.getPrototypeOf(o); },\ngetOwnPropertyDescriptor: function(o, v) { gopd.push(v); return Object.getOwnPropertyDescriptor(o, v); }\n});\nObject.prototype.__lookupSetter__.call(p, \"foo\");\nreturn gopd + '' === \"foo\" && gpo;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="yes obsolete" data-browser="firefox49">Yes</td>
<td class="yes obsolete" data-browser="firefox50">Yes</td>
<td class="yes obsolete" data-browser="firefox51">Yes</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="yes" data-browser="safari10">Yes</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="yes" data-browser="ios10">Yes</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr significance="0.125" class="optional-feature"><td id="test-assignments_allowed_in_for-in_head_in_non-strict_mode"><span><a class="anchor" href="#test-assignments_allowed_in_for-in_head_in_non-strict_mode">&#xA7;</a><a href="https://tc39.github.io/ecma262/#sec-initializers-in-forin-statement-heads">assignments allowed in for-in head in non-strict mode</a> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in#Compatibility_Initializer_expressions_in_strict_mode" title="MDN documentation"><img src="../mdn.png" alt="MDN (Mozilla Development Network) logo" width="15" height="13"></a>&#xA0;</span><script data-source="
for (var i = 0 in {}) {}
return i === 0;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("85");try{return Function("asyncTestPassed","\nfor (var i = 0 in {}) {}\nreturn i === 0;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("85");return Function("asyncTestPassed","'use strict';"+"\nfor (var i = 0 in {}) {}\nreturn i === 0;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="yes not-applicable" data-browser="tr" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="no not-applicable" data-browser="babel" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="closure" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="typescript" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no not-applicable" data-browser="es7shim" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="yes obsolete" data-browser="ie10">Yes</td>
<td class="yes" data-browser="ie11">Yes</td>
<td class="yes obsolete" data-browser="edge12">Yes</td>
<td class="yes obsolete" data-browser="edge13">Yes</td>
<td class="yes" data-browser="edge14">Yes</td>
<td class="yes" data-browser="edge15">Yes</td>
<td class="yes obsolete" data-browser="firefox38">Yes</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="yes" data-browser="firefox52">Yes</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="yes obsolete" data-browser="chrome47">Yes</td>
<td class="yes obsolete" data-browser="chrome48">Yes</td>
<td class="yes obsolete" data-browser="chrome49">Yes</td>
<td class="yes obsolete" data-browser="chrome50">Yes</td>
<td class="yes obsolete" data-browser="chrome51">Yes</td>
<td class="yes obsolete" data-browser="chrome52">Yes</td>
<td class="yes obsolete" data-browser="chrome53">Yes</td>
<td class="yes obsolete" data-browser="chrome54">Yes</td>
<td class="yes obsolete" data-browser="chrome55">Yes</td>
<td class="yes obsolete" data-browser="chrome56">Yes</td>
<td class="yes obsolete" data-browser="chrome57">Yes</td>
<td class="yes" data-browser="chrome58">Yes</td>
<td class="yes unstable" data-browser="chrome59">Yes</td>
<td class="yes obsolete" data-browser="safari51">Yes</td>
<td class="yes obsolete" data-browser="safari6">Yes</td>
<td class="yes obsolete" data-browser="safari7">Yes</td>
<td class="yes obsolete" data-browser="safari71_8">Yes</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="yes" data-browser="safari10_1">Yes</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="yes" data-browser="phantom">Yes</td>
<td class="no obsolete not-applicable" data-browser="node010" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">No</td>
<td class="yes obsolete not-applicable" data-browser="node012" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="iojs" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node4" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node5" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node6" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node65" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete not-applicable" data-browser="node7" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="node76" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="duktape20" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes not-applicable" data-browser="duktape21" title="This feature is optional on non-browser platforms, and doesn&apos;t contribute to the platform&apos;s support percentage.">Yes</td>
<td class="yes obsolete" data-browser="android40">Yes</td>
<td class="yes obsolete" data-browser="android41">Yes</td>
<td class="yes obsolete" data-browser="android42">Yes</td>
<td class="yes obsolete" data-browser="android43">Yes</td>
<td class="yes" data-browser="android44">Yes</td>
<td class="yes" data-browser="android50">Yes</td>
<td class="yes" data-browser="android51">Yes</td>
<td class="yes obsolete" data-browser="ios51">Yes</td>
<td class="yes obsolete" data-browser="ios6">Yes</td>
<td class="yes obsolete" data-browser="ios7">Yes</td>
<td class="yes obsolete" data-browser="ios8">Yes</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="yes" data-browser="ios10_3">Yes</td>
</tr>
<tr class="category"><td colspan="75">2018 features</td>
</tr>
<tr significance="0.25"><td id="test-template_literal_revision"><span><a class="anchor" href="#test-template_literal_revision">&#xA7;</a><a href="https://github.com/tc39/proposal-template-literal-revision">template literal revision</a></span><script data-source="
function tag(strings, a) {
return strings[0] === void 0 &amp;&amp;
strings.raw[0] === &quot;\\01\\1\\xg\\xAg\\u0\\u0g\\u00g\\u000g\\u{g\\u{0\\u{110000}&quot; &amp;&amp;
strings[1] === &quot;\0&quot; &amp;&amp;
strings.raw[1] === &quot;\\0&quot; &amp;&amp;
a === 0;
}
return tag`\01\1\xg\xAg\u0\u0g\u00g\u000g\u{g\u{0\u{110000}${0}\0`;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("86");try{return Function("asyncTestPassed","\nfunction tag(strings, a) {\nreturn strings[0] === void 0 &&\nstrings.raw[0] === \"\\\\01\\\\1\\\\xg\\\\xAg\\\\u0\\\\u0g\\\\u00g\\\\u000g\\\\u{g\\\\u{0\\\\u{110000}\" &&\nstrings[1] === \"\\0\" &&\nstrings.raw[1] === \"\\\\0\" &&\na === 0;\n}\nreturn tag`\\01\\1\\xg\\xAg\\u0\\u0g\\u00g\\u000g\\u{g\\u{0\\u{110000}${0}\\0`;\n")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("86");return Function("asyncTestPassed","'use strict';"+"\nfunction tag(strings, a) {\nreturn strings[0] === void 0 &&\nstrings.raw[0] === \"\\\\01\\\\1\\\\xg\\\\xAg\\\\u0\\\\u0g\\\\u00g\\\\u000g\\\\u{g\\\\u{0\\\\u{110000}\" &&\nstrings[1] === \"\\0\" &&\nstrings.raw[1] === \"\\\\0\" &&\na === 0;\n}\nreturn tag`\\01\\1\\xg\\xAg\\u0\\u0g\\u00g\\u000g\\u{g\\u{0\\u{110000}${0}\\0`;\n")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="no" data-browser="tr">No</td>
<td class="no" data-browser="babel">No</td>
<td class="no" data-browser="closure">No</td>
<td class="no" data-browser="typescript">No</td>
<td class="no" data-browser="es7shim">No</td>
<td class="no obsolete" data-browser="ie9">No</td>
<td class="no obsolete" data-browser="ie10">No</td>
<td class="no" data-browser="ie11">No</td>
<td class="no obsolete" data-browser="edge12">No</td>
<td class="no obsolete" data-browser="edge13">No</td>
<td class="no" data-browser="edge14">No</td>
<td class="no" data-browser="edge15">No</td>
<td class="no obsolete" data-browser="firefox38">No</td>
<td class="no obsolete" data-browser="firefox44">No</td>
<td class="no" data-browser="firefox45">No</td>
<td class="no obsolete" data-browser="firefox46">No</td>
<td class="no obsolete" data-browser="firefox47">No</td>
<td class="no obsolete" data-browser="firefox48">No</td>
<td class="no obsolete" data-browser="firefox49">No</td>
<td class="no obsolete" data-browser="firefox50">No</td>
<td class="no obsolete" data-browser="firefox51">No</td>
<td class="no" data-browser="firefox52">No</td>
<td class="yes unstable" data-browser="firefox53">Yes</td>
<td class="yes unstable" data-browser="firefox54">Yes</td>
<td class="yes unstable" data-browser="firefox55">Yes</td>
<td class="no obsolete" data-browser="chrome47">No</td>
<td class="no obsolete" data-browser="chrome48">No</td>
<td class="no obsolete" data-browser="chrome49">No</td>
<td class="no obsolete" data-browser="chrome50">No</td>
<td class="no obsolete" data-browser="chrome51">No</td>
<td class="no obsolete" data-browser="chrome52">No</td>
<td class="no obsolete" data-browser="chrome53">No</td>
<td class="no obsolete" data-browser="chrome54">No</td>
<td class="no obsolete" data-browser="chrome55">No</td>
<td class="no obsolete" data-browser="chrome56">No</td>
<td class="no obsolete" data-browser="chrome57">No</td>
<td class="no" data-browser="chrome58">No</td>
<td class="no flagged unstable" data-browser="chrome59">Flag</td>
<td class="no obsolete" data-browser="safari51">No</td>
<td class="no obsolete" data-browser="safari6">No</td>
<td class="no obsolete" data-browser="safari7">No</td>
<td class="no obsolete" data-browser="safari71_8">No</td>
<td class="no obsolete" data-browser="safari9">No</td>
<td class="no" data-browser="safari10">No</td>
<td class="no" data-browser="safari10_1">No</td>
<td class="yes unstable" data-browser="safaritp">Yes</td>
<td class="yes unstable" data-browser="webkit">Yes</td>
<td class="no" data-browser="phantom">No</td>
<td class="no obsolete" data-browser="node010">No</td>
<td class="no obsolete" data-browser="node012">No</td>
<td class="no obsolete" data-browser="iojs">No</td>
<td class="no" data-browser="node4">No</td>
<td class="no obsolete" data-browser="node5">No</td>
<td class="no obsolete" data-browser="node6">No</td>
<td class="no" data-browser="node65">No</td>
<td class="no obsolete" data-browser="node7">No</td>
<td class="no" data-browser="node76">No</td>
<td class="no" data-browser="duktape20">No</td>
<td class="no" data-browser="duktape21">No</td>
<td class="no obsolete" data-browser="android40">No</td>
<td class="no obsolete" data-browser="android41">No</td>
<td class="no obsolete" data-browser="android42">No</td>
<td class="no obsolete" data-browser="android43">No</td>
<td class="no" data-browser="android44">No</td>
<td class="no" data-browser="android50">No</td>
<td class="no" data-browser="android51">No</td>
<td class="no obsolete" data-browser="ios51">No</td>
<td class="no obsolete" data-browser="ios6">No</td>
<td class="no obsolete" data-browser="ios7">No</td>
<td class="no obsolete" data-browser="ios8">No</td>
<td class="no" data-browser="ios9">No</td>
<td class="no" data-browser="ios10">No</td>
<td class="no" data-browser="ios10_3">No</td>
</tr>
</tbody>
    </table>
    <div id="footnotes">
      <!-- FOOTNOTES -->
    <p><p id="experimental-flag-note">  <sup>[1]</sup> Flagged features have to be enabled via &quot;Experimental Javascript features&quot; flag unless otherwise stated</p><p id="babel-optional-note">  <sup>[2]</sup> Flagged features require an optional transformer setting.</p><p id="edge-experimental-flag-note">  <sup>[3]</sup> Flagged features have to be enabled via &quot;Enable experimental Javascript features&quot; setting under about:flags</p><p id="harmony-flag-note">  <sup>[4]</sup> Flagged features have to be enabled via <code>--harmony</code> or <code>--es_staging</code> flag</p><p id="firefox-nightly-note">  <sup>[5]</sup> The feature is enabled by default only in Firefox Nightly.</p><p id="typescript-core-js-note">  <sup>[6]</sup> This feature is supported when using TypeScript with <a href="https://github.com/zloirock/core-js">core-js</a>, or when a native ES6 host is used.</p><p id="new-gen-fn-note">  <sup>[7]</sup> <a href="https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-28.md#67-new--generatorfunction">TC39 meeting notes from July 28, 2015.</a></p><p id="gen-throw-note">  <sup>[8]</sup> <a href="https://github.com/tc39/ecma262/issues/293">&apos;Semantics of yield* in throw case&apos; GitHub issue in ECMA-262 repo.</a></p><p id="strict-fn-non-strict-params-note">  <sup>[9]</sup> <a href="https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists">TC39 meeting notes from July 29, 2015.</a></p><p id="nested-rest-destruct-decl-note">  <sup>[10]</sup> <a href="https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-28.md#66-bindingrestelement-should-allow-a-bindingpattern-ala-assignmentrestelement">TC39 meeting notes from July 28, 2015.</a></p><p id="nested-rest-destruct-params-note">  <sup>[11]</sup> <a href="https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-28.md#66-bindingrestelement-should-allow-a-bindingpattern-ala-assignmentrestelement">TC39 meeting notes from July 28, 2015.</a></p><p id="proxy-enumerate-removed-note">  <sup>[12]</sup> <a href="https://github.com/tc39/ecma262/pull/367">&apos;Normative: Remove [[Enumerate]] and associated reflective capabilities&apos; GitHub Pull Request in ECMA-262 repo.</a></p><p id="babel-regenerator-note">  <sup>[13]</sup> This feature requires native generators or <code>regenerator-runtime</code>, it&apos;s a part of <code>babel-polyfill</code> or <code>babel-runtime</code>.</p><p id="typescript-async-await-note">  <sup>[14]</sup> TypeScript <code>async</code> / <code>await</code> requires native generators support.</p><p id="firefox-developer-note">  <sup>[15]</sup> The feature is enabled by default only in Firefox Developer and Firefox Nightly.</p><p id="chrome-sharedmem-note">  <sup>[16]</sup> The feature have to be enabled via &quot;Experimental enabled SharedArrayBuffer support in JavaScript.&quot; setting under about:flags</p></p></div>
  </div>
  <pre class="info-tooltip" style="display:none"></pre>
  <script src="../jquery.floatThead.min.js"></script>
</body>
</html>
